本文介绍烧录ID²到芯片的方法。

本文适用于ID²产线烧录JAVA SDK V2.4以及以上版本。

ID²产线烧录SDK由阿里云开发和维护。用于提供给合作厂商,集成到厂商烧录工具后,完成产线的获取和烧录。

ID²产线烧录JAVA SDK V2.4支持的ID²密钥类型如下:

  • RSA-1024
  • RSA-2048
  • 3DES-112
  • 3DES-168
  • AES-128
  • AES-192
  • AES-256
  • SM1-128
  • SM2-256
  • SM4-128
  1. 登录物联网设备身份认证
  2. 在左侧导航栏选择扩展服务 > 我的服务,单击芯片入驻管理
  3. 单击工具列表。在产线相关区域,单击产线 SDK for SE下的点击下载,获取ID²产线烧录SDK。SDK包含以下内容:
    目录 描述
    sdk-lib ID² 产线烧录SDK的库文件。
    sdk-sample 示例代码。包括密钥拉取、数据解析、数据验证和回执上报。
    genkeypairs.jar 用于生成厂商产线RSA-1024公私钥对。
    ID2RootCA.truststore ID²根证书,用于ID²服务的身份认证。

接口说明

  • 接口名称:public static String retrieveId2(String apiVersion, String count, String license, String sign)

    接口功能:获取ID²数据。

    接口参数说明:
    参数 描述
    apiVersion ID²版本,固定值为1.0.0。
    count 请求个数,一次最多可请求30个。
    license ID²烧录许可编号。由厂商向阿里云IoT申请获得。
    sign ID²烧录许可私钥签名。签名数据=apiVersion+count+license。
    返回示例:
    成功:
    {
        “code”: 200,
        “msg”: “succcess”,
        “value”: [{
            “id2”: “xxx”,
            “privateKey”: “xxx”,- > ID²密钥, 经许可证公钥加密
            “kcv”: “xxx” - > 密钥校验, ID²密钥加密ID:
                              1. RSA / ECB / PKCS1Padding
                              2. AES / ECB / PKCS5Padding
                              3. DESede / ECB / PKCS5Padding
                              4. SM4 / ECB / PKCS5Padding
        }]
    }
    
    失败:
    {
       “code”: xxx,- > 错误码
       “msg”: “xxx”,- > 错误信息
       “value”: null
    }
  • 接口名称:public static String returnId2ByTools(String apiVersion, String id2, String cipherSuite, String keySource, String sign)

    接口功能:ID²数据烧录回执。

    接口参数说明:
    参数 描述
    apiVersion ID²版本,固定值1.0.0。
    id2 ID² 的字符串。
    cipherSuite 消息摘要算法类型。
    keySource

    密钥类型。

    • 0:ID²密钥。
    • 1:ID²烧录许可私钥。
    sign 签名结果,签名数据 = id2, 签名密钥根据keySource选择。
    返回示例:
    成功:
    {
      “code”: 200,
      “msg”: “success”,
      “value”: true
    }
    
    失败:
    {
      “code”: xxx,- > 错误码
      “msg”: “xxx”,- > 错误信息
      “value”: true
    }
  • 接口名称:Public static String retrieveModelData(String apiVersion, String license, String time, String sign)

    接口功能:获取一型一密的托管烧录数据(16进制格式)。

    接口参数说明:
    参数 描述
    apiVersion ID²版本,固定值1.0.0。
    license 许可证序列号。由厂商向阿里云IoT申请获得。
    time 当前系统时间。单位毫秒。
    sign 许可证私钥签名。签名数据 = apiVersion + license + time。
    返回示例:
    成功:
    {
      “code”: 200,
      “msg”: “success”,
      “value”:
        {
         “env”:envelope, 许可证私钥加密aes-256对称密钥。
         “data”: aes-256密钥加密的一型一密数据。
         “dcv”: 烧录数据校验码,由aes-256加密sha256(明文烧录数据)。
        }
    }
    
    失败:
    {
      “code”: xxx,   -> 错误码
      “msg”: “xxx”,  -> 错误信息
      “value”: null
    }

使用说明

ID²产线烧录SDK提供示例代码ID2Sample.c,您可以基于此代码进行调试和测试。

  1. 设置count的值,选择每次请求获取ID²的数量(最大为30)。count
  2. 使用申请的许可证序列号和许可证私钥替换代码中对应的参数。替换对应的参数
  3. 设置ID²服务的根证书。替换ID²的根证书
  4. (可选)设置ID²烧录服务的域名。
    默认域名https://id2.aliyun.com/;如需配置域名(如专有云环境部署),可通过下图方式配置。配置烧录服务
    说明 端口号固定为80,不可配置。