Skip to content

本地许可证校验

客户端激活成功后,应优先依赖本地许可证完成启动校验。即使是在线或混合模式,也不建议把每次启动都设计成强实时联网鉴权。

客户端需要保存什么

首次激活成功后,至少保存:

内容说明
license_fileBase64 编码的许可证文件
产品公钥首次在线响应中与许可证配对保存,或纯离线交付时与许可证一同导入的 RSA 公钥

启用心跳时还需要保存:

内容说明
license_key心跳接口使用的许可证密钥
heartbeat_interval建议心跳间隔

校验顺序

关键校验项

校验项处理建议
签名必须先验签,再读取业务授权内容
状态只有 active 才能放行;revoked、空值和未知状态必须阻断,过期由有效期字段判断
有效期检查当前时间是否在授权期内
硬件指纹当前设备指纹应与许可证中的指纹一致
功能配置根据 feature_config 控制模块开关
使用限制根据 usage_limits 控制数量、额度或频率
自定义参数根据 custom_parameters 映射业务参数

公钥与许可证关系

同一产品新签发的许可证使用同一产品公钥验签。首次在线获取时使用响应中的公钥并与许可证配对保存;心跳和后续启动使用已保存公钥;纯离线时二者同批导入。完整信任模型见 许可证结构与验证

常见失败

现象可能原因
签名验证失败公钥与许可证不属于同一产品、许可证损坏、验签前重新序列化了 data
授权已过期本地时间超过许可证 end_date
设备不匹配当前硬件指纹和许可证绑定指纹不一致
功能不可用feature_config 未包含该功能,或使用额度已达上限

相关文档