本文介紹燒錄ID2到芯片的方法。

本文適用于ID2產線燒錄JAVA SDK V2.4以及以上版本。

ID2產線燒錄SDK由阿里云開發和維護。用于提供給合作廠商,集成到廠商燒錄工具后,完成產線的獲取和燒錄。

ID2產線燒錄JAVA SDK V2.4支持的ID2密鑰類型如下:

  • 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下的點擊下載,獲取ID2產線燒錄SDK。SDK包含以下內容:
    目錄描述
    sdk-libID2 產線燒錄SDK的庫文件。
    sdk-sample示例代碼。包括密鑰拉取、數據解析、數據驗證和回執上報。
    genkeypairs.jar用于生成廠商產線RSA-1024公私鑰對。
    ID2RootCA.truststoreID2根證書,用于ID2服務的身份認證。

接口說明

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

    接口功能:獲取ID2數據。

    接口參數說明:
    參數描述
    apiVersionID2版本,固定值為1.0.0。
    count請求個數,一次最多可請求30個。
    licenseID2燒錄許可編號。由廠商向阿里云IoT申請獲得。
    signID2燒錄許可私鑰簽名。簽名數據=apiVersion+count+license。
    返回示例:
    成功:
    {
        “code”: 200,
        “msg”: “succcess”,
        “value”: [{
            “id2”: “xxx”,
            “privateKey”: “xxx”,- > ID2密鑰, 經許可證公鑰加密
            “kcv”: “xxx” - > 密鑰校驗, ID2密鑰加密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)

    接口功能:ID2數據燒錄回執。

    接口參數說明:
    參數描述
    apiVersionID2版本,固定值1.0.0。
    ID2ID2 的字符串。
    cipherSuite消息摘要算法類型。
    keySource

    密鑰類型。

    • 0:ID2密鑰。
    • 1:ID2燒錄許可私鑰。
    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進制格式)。

    接口參數說明:
    參數描述
    apiVersionID2版本,固定值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
    }

使用說明

ID2產線燒錄SDK提供示例代碼ID2Sample.c,您可以基于此代碼進行調試和測試。

  1. 設置count的值,選擇每次請求獲取ID2的數量(最大為30)。count
  2. 使用申請的許可證序列號和許可證私鑰替換代碼中對應的參數。替換對應的參數
  3. 設置ID2服務的根證書。替換ID2的根證書
  4. (可選)設置ID2燒錄服務的域名。
    默認域名https://id2.aliyun.com;如需配置域名(如專有云環境部署),可通過下圖方式配置。配置燒錄服務
    說明 端口號固定為80,不可配置。