全部产品
云市场

5.2,ID²-SE在AliOSThings上适配

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

该文档介绍了通过AliOS Things集成ID²-SE的操作说明。以平台stm32f103vb-fmse为例,使用的国密芯片为fm1280。

适配步骤

1. 适配SE芯片驱动接口

根据SE芯片驱动的控制方式,需要适配以下3个驱动接口。参考 SE 芯片驱动API文档

  1. 适配se_open_session

    1. irot_result_t se_open_session(void** handle)
    2. {
    3. // 示例代码:SE 初始化,打开SE芯片电源
    4. fm_open_device();
    5. fm_device_init();
    6. fm_dev_power_on();
    7. }
  2. 适配se_transmit

    1. irot_result_t se_transmit(void* handle, const uint8_t* cmd_apdu, const uint32_t cmd_len, uint8_t* rsp_buf, uint32_t* rsp_len)
    2. {
    3. // 示例代码:发送apdu指令,并获取response
    4. result = pfm_SeFunc->fm_apdu_transceive(xxx)
    5. }
  3. 适配se_close_session

    1. irot_result_t se_close_session(void* handle)
    2. {
    3. // 示例代码:关闭设备,关闭SE芯片电源
    4. fm_close_device();
    5. fm_power_off();
    6. }

进入AliOSThings/security/irot/se/aos.mk,添加对应SE芯片名称的文件夹fm1280,将SE芯片驱动的实现代码放进去。并设置SE_CHIP_NAME为fm1280:
aos.mk内容如下:
image.png

集成fm1280 SE驱动接口实现后,se文件夹结构如下:
image.png

2. AliOSThings平台配置和编译

(1) 确定设备名称,进入AliOSThings/board/stm32f103vb-fmse/aos.mk,CONFIG_SYSINFO_DEVICE_NAME为ESP32,如下图:
image.png

(2) 在aos.mk中添加如下Config,设置CONFIG_LS_KM_SE为y,CONFIG_LS_ID2_OTP为n
image.png

(3)编译id2测试app
aos make id2_app@stm32f103vb-fmse -c config
确定编译结果中依赖的库是libkm_se
image.png

(4) 通过烧录工具烧写binary到平台并测试
binary存放位置为:out/id2_app@stm32f103vb-fmse/binary/id2_app@stm32f103vb-fmse.bin

3. 服务端验证调试结果

登录ID²控制台,通过自主验证 来验证前一步骤的测试结果。
如果验证成功,至此ID2-SE在第三方OS上的适配工作基本完成