全部产品
云市场

SE 芯片驱动API文档

更新时间:2019-08-20 22:44:08

概述

本文档主要提供给SE安全芯片厂商,厂商需要在SE驱动接口里面实现和SE芯片基础通讯和数据交互。

SE 驱动接口

se_open_session

函数原型: irot_result_t se_open_session(void ** handle)
功能描述: 与SE芯片建立会话连接
参数描述: [IN]handle,会话句柄
返回值: 见附录irot_result_t

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 芯片,并接收 APDU 响应,响应数据包含 2 字节状态字。该接口阻塞等待接收 响应数据,或接收到错误的返回值。
参数描述: [IN] handle,会话句柄
[IN] cmd_apdu, 命令APDU,参考规范ISO7816-4
[IN] cmd_len, 命令APDU长度
[IN] rsp_buf, APDU返回数据Buffer
[INOUT] rsp_len, 输入APDU Buffer的长度,输出为实际的APDU数据返回长度(包含2个字节状态字)
返回值: 见附录irot_result_t

se_close_session

函数原型: irot_result_t se_close_session(void** handle);
功能描述: 关闭会话连接
参数描述: [IN] handle, 会话句柄
返回值: 见附录irot_result_t

备注: 接口中的 handle 参数,在通讯交互过程中,可用于保存会话的状态信息。

错误码定义

错误码 含义
IROT_SUCCESS 0 调用成功
IROT_ERROR_GENERIC -1 通用错误
IROT_ERROR_BAD_PARAMETERS -2 输入参数错误
IROT_ERROR_SHORT_BUFFER -3 数据缓冲长度不够
IROT_ERROR_EXCESS_DATA -4 数据长度超出请求的操作
IROT_ERROR_OUT_OF_MEMORY -5 无法分配内存
IROT_ERROR_COMMUNICATION -7 通讯错误
IROT_ERROR_NOT_SUPPORTED -8 不支持的操作
IROT_ERROR_NOT_IMPLEMENTED -9 对应的操作没有实现
IROT_ERROR_TIMEOUT -10 通信超时
IROT_ERROR_ITEM_NOT_FOUND -11 没有找到ID2