全部产品
云市场

6,将ID²烧录到模组内

更新时间:2019-09-02 00:38:08

该文档帮助芯片/模组厂商、设备厂商在产线环境将ID²安全的烧录到设备中,主要包含以下内容:

  • 从ID² Server端获取ID²,保存到PC/服务器;
  • 从PC/服务器将ID²保存到模组上;
  • 通过烧录工具将ID²烧录到模组的安全区;
  • 相关资料《产线烧录SDK使用指南》

该文档的适用范围:

  • 通过阿里云IoT提供的安全SDK对接;
  • 载体是Soft-KM(Key Management);
  • ID²通过产线烧录的方式预制;

一、 ID²烧录数据的拉取

1.1 使用说明

1.1.1 ID²烧录许可申请

如果您已经申请到ID²的烧录许可,请忽略此步骤。
如果您还未申请到,请立即申请获取ID²烧录许可

1.1.2 ID²烧录SDK集成

可先基于提供的示例代码(sample), 进行代码调试和测试。

1.1.3 配置烧录端口数和许可证文件路径(ds_sample.c->ds_init)

1) 烧录端口数: ID²烧录数据并发拉取的数目。

2) 许可证文件路径: licenseConfig.ini相对库文件的路径。

1.1.4 创建工程,编译生成烧录测试工具

1)ID²烧录数据默认生成在当前bin目录,且同线程下生成的文件名称相同。

1.1.5 配置许可证文件(licenseConfig.ini)

其中:

配置项
serverType 固定值1 - factory mode
ID2SyncPolicy 获取ID²数据的策略
0:对应异步(速度较快,但会有一定的浪费)
1:对应同步(按需获取数据,不会产生浪费,使用于网络良好的场景)
license: 已经申请到的许可证编号。如果没有,获取ID²烧录许可
factPriKey: 产线私钥,用于解密服务端下发的ID²密钥,对应的公钥用于许可证申请。

1.1.6 配置日志文件(log.conf)

  1. 日志配置文件(log.conf)需与库在相同目录,生成的日志以日期命名,如2017-10-23.log。
  2. 配置项说明:
配置项
path: 日志输出路径
level: 日志输出的级别:
NONE_O: 不输出日志
INFO_O: 输出INFO类型的日志
DEBUG_O: 输出DEBUG类型的日志
ERROR_O: 输出ERROR 类型的日志
ALL: 输出所有类型的日志

1.2 ID²数据拉取流程

二、ID²烧录数据的导入:

主要完成将拉取的ID²烧录数据从PC端写入到设备端(动态内存/静态存储区)。

PC端和设备端ID²烧录数据传输的方式由厂商自行确定,每个设备只传入和写入一个ID²烧录数据,且保证传输过程数据的正确性和完整性。

三、ID²数据的烧录和测试:

ID²数据烧录主要是指通过设备端Prov模块完成数据的解析和ID²数据的安全保护和存储。

ID²烧录测试用于在产线上对ID²烧录结果的验证。

ID²数据烧录和测试触发方式由厂商确定,具体流程可参考如下:

3.1 获取模组上烧录结果

调用prov_get_prov_res函数。

返回值 结果
0 烧录成功
非0 烧录失败,需要进行烧录

3.2 数据烧录

调用prov_item函数烧录数据,其中item_name设为ITEM_NAME_ID2, data标明ID²烧录数据在内存的地址,data_len标明烧录数据的字节长度。

3.3 获取模组上烧录结果

再次调用prov_get_prov_res函数。

返回值 结果
0 烧录成功
非0 烧录失败