Skip to content

在线激活

在线激活适用于客户端首次运行时可以访问 License Manager 服务的场景。客户端提交授权码、产品编码和硬件指纹,服务端校验通过后返回许可证和产品级公钥;首次在线激活不要求预先内置公钥。

适用场景

  • 桌面软件首次启动时联网激活
  • 工业软件在交付现场可临时联网激活
  • 客户端需要后续通过心跳同步授权状态
  • 软件需要根据云端变更更新本地许可证

流程概览

请求信息

接口:

http
POST /api/v1/activate

关键字段:

字段必填说明
authorization_code授权码
hardware_fingerprint当前设备硬件指纹
product_code推荐固定传入客户端对应的产品编码
software_version客户端软件版本
device_info设备信息,例如系统、主机名、版本等

请求体示例:

json
{
  "authorization_code": "LIC-DEMO-XXXX-XXXX",
  "hardware_fingerprint": "demo-device-fingerprint",
  "product_code": "demo-app",
  "software_version": "1.0.0",
  "device_info": {
    "os": "Windows",
    "hostname": "demo-pc"
  }
}

响应信息

激活成功后,data 中包含:

字段说明
license_key许可证密钥,用于心跳和服务端查询
license_fileBase64 编码的许可证文件
public_key当前产品的 RSA 公钥;用于验证并与本次许可证配对保存
heartbeat_interval心跳间隔,单位秒

客户端先使用响应中的 public_key 验证同次返回的 license_file,完成状态、有效期和设备指纹检查后,再配对保存。完整规则见 许可证结构与验证

后续启动

激活成功后,客户端后续启动不应每次都强依赖在线激活。推荐顺序:

  1. 读取本地许可证和配对保存的产品公钥
  2. 本地验签
  3. 检查状态、有效期和设备指纹
  4. 放行业务功能
  5. 如果启用心跳,再异步或后台同步云端状态

常见失败

现象常见原因下一步
返回 400请求字段缺失或格式错误检查授权码和硬件指纹
返回 404授权码不存在确认授权码是否来自当前环境
返回 409授权码已锁定、已过期或不可激活查看授权状态和激活次数
验签失败许可证不是由当前产品签发或许可证文件损坏查看 常见问题排查

相关文档