本文介绍如何通过第三方OS(非AliOS Things)和ID² Client SDK完成ID²-SE的对接。
ID² Client SDK是阿里云IoT安全团队为SE安全芯片厂商提供的能够进行自主移植和SE功能验证的工具。其原理如下图所示。

了解ID² Client SDK的基本信息,请参考下面的表格。
ID² Client SDK | 说明 |
---|---|
下载地址 | 请单击ID² Client SDK下载。 |
使用方法 | 请参考ID² Client SDK中的readme说明。 |
API | 请参考设备端API。
说明 ID² Client SDK基于ID²设备端SDK进行了精简,ID² Client SDK与ID²设备端SDK共同一套API手册。
|
适配ID² Client SDK
参考设备端SDK 适配手册适配OSA基础功能接口。您需要实现如下接口:
void ls_osa_print(const char *fmt, …)
int ls_osa_snprintf(char *str, size_t size, const char *fmt, ...)
void *ls_osa_malloc(size_t size)
void ls_osa_free(void *ptr)
long long ls_osa_get_time_ms(void)
第三方OS集成SE芯片最佳实践
为便于芯片厂商理解ID²功能接口的作用,ID² Client SDK提供了一个简单的Demo,用来保存样例ID²密钥和验证测试程序id2_app的功能。芯片厂商拿到该开源的ID² client SDK,适配好以上OSA各个基础API后,可以参考这个Demo的方式,编译并链接出完整的id2_app,进行ID²接口功能的调试和验证。但您最终还是需要切换到SE安全芯片的方式。
下面以stm32f103vb-fmse平台,使用fm1280国密SE芯片为例,介绍ID²接口功能的调试和验证的方法。
- 进入modules/irot/se/chipset目录,新建文件夹fm1280(fm1280对应SE芯片的名称),在文件夹内放入SE芯片驱动的实现代码se_driver.c以及相关依赖文件。
SE芯片驱动需要对接的接口为se_open_session/se_transmit/se_close_session。接口详细信息,请参考SE 芯片驱动API文档。
修改完成后的fm1280文件夹如下图所示。
- 修改security/irot/se/Makefile为指向fm1280 SE驱动的实现代码,如下图所示。
- 修改根目录Makefile至se目录,如下图所示。
- 在根目录下编译id2_app。
make clean make
- 测试运行id2_app。