SE安全芯片厂商可参考本文,实现SE驱动接口与SE芯片的基础通讯和数据交互。
下面介绍SE芯片的驱动接口。
se_open_session
- 函数原型: irot_result_t se_open_session(void** handle) 。
- 功能描述: 与SE芯片建立会话连接。
- 参数描述: [IN]handle,会话句柄。
- 返回值: 成功时返回0;其他返回值,请参考设备端错误码。
se_transmit
- 函数原型: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)。
- 功能描述:发送APDU命令到SE芯片,并接收SE芯片返回的APDU响应,响应数据包含2个字节状态字。
- 参数描述:
参数 描述 [IN] handle 会话句柄。 [IN] cmd_apdu 命令APDU。请参考规范ISO7816-4。 [IN] cmd_len 命令APDU的长度。 [IN] rsp_buf APDU返回数据Buffer。 [IN/OUT] rsp_len 输入APDU Buffer的长度,输出为实际的APDU数据返回长度(包含2个字节状态字)。 - 返回值:成功时返回0;其他返回值,请参考设备端错误码。
se_close_session
- 函数原型:irot_result_t se_close_session(void* handle)。
- 功能描述:关闭会话连接。
- 参数描述:[IN] handle, 会话句柄。
- 返回值:成功时返回0;其他返回值,请参考设备端错误码。
说明 接口中的handle参数,在通讯交互过程中,可用于保存会话的状态信息。