Skip to content
ID²(Internet Device ID),是物联网设备的可信身份标识,具备不可篡改、不可伪造、全球唯一的安全属性,是实现万物互联、服务流转的关键基础设施。ID²支持多安全等级载体,合理地平衡物联网在安全、成本、功耗等各方面的诉求,为客户提供用得起、容易用、有保障的安全方案,适应物联网碎片化的市场需求。 ID² Client SDK是用于设备端开发的软件工具包,帮助开发者快速集成接入ID²开放平台.
C C++ Makefile
Branch: master
Clone or download
security-devp
security-devp Optimize id2 json message generation
Signed-off-by: security-devp <cedar.wxs@alibaba-inc.com>
Latest commit 8c50df9 Oct 12, 2019

README.md

README for ID² Client SDK


IoT设备身份认证ID²(Internet Device ID),是一种物联网设备的可信身份标识,具备不可篡改、不可伪造、全球唯一的安全属性,是实现万物互联、服务流转的关键基础设施。

ID² Client SDK是用于设备端开发和调试,帮助开发者快速接入ID²开放平台。此SDK, 支持两种载体Demo和SE(Secure Element):
  • Demo载体:用于ID²设备端功能的演示,正式产品,需切换到安全载体(Soft-KM, SE, TEE)。
  • SE载体:外挂芯片,ID²预烧录在SE芯片上。

|—— app:加解密硬件适配(HAL)接口和ID²接口的测试程序。
|—— doc:相关文档,如ID²指令规范。
|—— include:头文件目录。
|—— makefile:总的编译脚本。
|—— make.rules:编译配置,可配置编译工具链和编译参数。
|—— make.settings:ID²配置,如调试信息、空发功能和载体选择。
|—— modules:ID²和ID²依赖的模块。
|—— sample:示例代码。

快速开始

描述在Ubuntu上编译和运行ID²Client SDK。

编译环境:

使用Ubuntu 14.04以上版本。

编译配置:

  • make.rules:

  CROSS_COMPILE: 编译使用的工具链。
  CFLAGS:编译工具链的编译参数。

  • make.settings:

  CONFIG_ID2_DEBUG:ID²调试信息的开关。
  CONFIG_ID2_OTP:ID²密钥在使用时动态下发功能的开关。
  CONFIG_ID2_KM_SE:ID²的SE载体的开关,关闭时,使用Demo载体。
  CONFIG_ID2_MDU:ID²的模组载体的开关,提供主控ID²SDK, 需使能CONFIG_ID2_MDU宏。

编译SDK:

 在SDK目录,运行如下命令:

 $ make clean
 $ make

编译成功,生成的静态库和应用程序统一放在SDK的out目录。

运行程序:

在SDK目录,运行如下命令:

 ./out/bin/id2_app

测试成功(仅设备端接口测试,非真实交互验证),日志显示如下:

 
<LS_LOG> id2_client_get_id 649: ID2: 000FFFFFDB1D8DC78DDCB800
<LS_LOG> id2_client_generate_authcode 170:
============ ID2 Validation Json Message ============:
{
       "reportVersion":        "1.0.0",
       "sdkVersion":   "2.0.0",
       "date": "Aug 23 2019 18:17:13",
       "testContent":  [{
               .......
               }]
}
<LS_LOG> id2_client_generate_authcode 186: =====>ID2 Client Generate AuthCode End.

其他:

更多文档,如设备端适配和自主验证,请查阅官网文档: https://help.aliyun.com/product/100846.html?spm=a2c4g.11186623.6.540.928e55380nu9ZO


You can’t perform that action at this time.