全部文档
OneOS简介 硬件支持 快速开发指南 编译构造工具 API参考文档 高级语言 用户编程手册 应用笔记 FAQ

class device.SESecure

device.SESecure 类是device模块下面的一个硬件类,用于对SESecure模块的配置和控制,并提供对SESecure设备的操作方法。

构造函数

构造函数 class device.SESecure()
功能 构造一个SESecure对象
参数说明
返回值 返回创建的SESecure对象
其他说明 构造时会对SESecure对象进行初始化,也可在init方法中进行初始化。

3.3.13.3 实例方法

​ device.SESecure类包括如下实例方法

方法名 说明
SESecure.init() 初始化SESecure
SESecure.deinit() 关闭SESecure对象
SESecure.nfc_external_auth() 获取NFC外部认证计算数据
SESecure.nfc_se_random() 请求SE生成认证随机数
SESecure.nfc_internal_auth() NFC内部认证校验
SESecure.nfc_auto_auth() NFC卡片自动鉴权
SESecure.nfc_getkey() 获取NFC密钥报文
SESecure.nfc_deletekey() 删除NFC卡片
SESecure.pin_writekey() 写入永久Pin码
SESecure.pin_deletekey() 删除永久Pin码
SESecure.pin_verify_perpetual() 永久Pin码校验
SESecure.pin_verify_dynamic() 动态Pin码校验
SESecure.pin_change_adminpin() 修改管理员pin码

详细说明如下:

方法名称 SESecure.init()
功能 初始化SESecure对象
参数说明
返回值 固定返回None

注:该初始化动作完成驱动总线初始化和se芯片初始化流程等。

方法名称 SESecure.deinit()
功能 关闭SESecure对象
参数说明 无参数
返回值 固定返回None

注:关闭SESecure对象后,需重新init才能正常使用SESecure对象。

方法名称 SESecure.nfc_external_auth(card_uid, random)
功能 获取NFC外部认证计算数据
参数说明 card_uid:传入需进行外部认证的卡uid号
random:NFC卡片随机数
返回值 认证通过返回认证数据,长度为8字节 认证失败返回0

注:该认证过程中需要的uid及random都需要先从卡片中进行获取,random随机数为8字节数据。

方法名称 SESecure.nfc_se_random()
功能 请求SE生成认证随机数
参数说明
返回值 返回获取的认证随机数,通常为8字节

注:获取的SE认证随机数用于向NFC卡片发送内部认证请求时使用。

方法名称 SESecure.nfc_internal_auth(card_uid, auth)
功能 NFC内部认证校验
参数说明 card_uid:传入需进行外部认证的卡uid号
auth:NCF卡片内部认证时获取的鉴权信息
返回值 鉴权通过返回0
异常说明 鉴权失败时触发SEError异常, 当卡片ID未匹配时,携带异常值1 当卡片鉴权失败时,携带异常值2
方法名称 SESecure.nfc_auto_auth(card_uid, random)
功能 NFC卡片自动鉴权
参数说明 card_uid:传入需进行外部认证的卡uid号
random:NFC卡片随机数
返回值 鉴权通过返回0
异常说明 鉴权失败时触发SEError异常, 当卡片ID未匹配时,携带异常值1;当卡片鉴权失败时,携带异常值2;当获取外部鉴权随机数失败时,携带异常值3;当获取SE认证随机数失败时,携带异常值4;当NFC卡内部认证失败时,携带异常值5。

注:该方法需要底层完成外部认证及内部认证。

SESecure.nfc_getkey() 获取NFC密钥报文
SESecure.nfc_deletekey() 删除NFC卡片
方法名称 SESecure.nfc_getkey(card_uid, random)
功能 获取NFC密钥报文
参数说明 card_uid:传入卡uid号
random:NFC卡片随机数
返回值 返回获取的密钥报文
方法名称 SESecure.nfc_deletekey(card_uid)
功能 删除NFC卡片
参数说明 card_uid:欲删除的卡id号
返回值 删除成功返回True;删除失败False(此时为未找到配对卡片)
方法名称 SESecure.pin_writekey(pin_key)
功能 写入永久Pin码
参数说明 pin_key:欲写入的pin密钥
返回值 写入成功返回密钥在芯片中存储的pinid编号
方法名称 SESecure.pin_deletekey(pinid)
功能 删除永久Pin码
参数说明 pinid:密钥在芯片中存储的pinid编号
返回值 成功返回True;失败返回False(通常为pin码不存在时执行失败)
方法名称 SESecure.pin_verify_perpetual(pin_key)
功能 永久Pin码校验
参数说明 pin_key:欲校验的pin密钥
返回值 校验通过返回pinid;校验失败返回0

注:该校验应包括永久pin码校验及管理员pin码校验

方法名称 SESecure.pin_verify_dynamic(pin_key)
功能 动态Pin码校验
参数说明 pin_key:欲校验的pin密钥
返回值 校验通过返回True;校验失败返回False
方法名称 SESecure.pin_change_adminpin(newkey, oldkey)
功能 修改管理员pin码
参数说明 Newkey:修改后的管理员pin码
Oldkey:修改前的管理员pin码
返回值 修改成功返回True
异常说明 修改失败时触发SEError异常,当管理员密码校验失败时,携带异常值1;当其他原因修改失败时,携带异常值2

results matching ""

    No results matching ""