信息安全技术智能密码钥匙应用接口规范(GB-T 35291-2017).docx

上传人:wo****o 文档编号:96306750 上传时间:2023-10-21 格式:DOCX 页数:50 大小:171.15KB
返回 下载 相关 举报
信息安全技术智能密码钥匙应用接口规范(GB-T 35291-2017).docx_第1页
第1页 / 共50页
信息安全技术智能密码钥匙应用接口规范(GB-T 35291-2017).docx_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《信息安全技术智能密码钥匙应用接口规范(GB-T 35291-2017).docx》由会员分享,可在线阅读,更多相关《信息安全技术智能密码钥匙应用接口规范(GB-T 35291-2017).docx(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、GB/T XXXX-XXXXXXXX-XX-XX发布XXXX-XX-XX实施 信息安全技术 智能密码钥匙应用接口规范Information security technology-cryptography token application interface specification(报批稿)本稿完成日期:2016年12月中华人民共和国国家标准GB/T XXXXXXXX ICS 35.040.L 80III目 次前言II引言III1 范围12 规范性引用文件13 术语和定义14 缩略语25 结构模型25.1 层次关系25.2 设备的应用结构26 数据类型定义36.1 算法标识36.2 基本

2、数据类型36.3 常量定义46.4 复合数据类型47 接口函数107.1 设备管理107.2 访问控制137.3 应用管理157.4 文件管理167.5 容器管理187.6 密码服务218 设备的安全要求418.1 设备使用阶段418.2 权限管理418.3 密钥安全要求418.4 设备抗攻击要求42附录A (规范性附录) 错误代码定义和说明43前 言本标准依据GB/T1.1-2009给出的规则起草。请注意本标准的某些内容可能涉及专利。本标准的发布机构不承担识别这些专利的责任。本标准由国家密码管理局提出。本标准由全国信息安全标准化委员会(SAC/TC260)归口。本标准起草单位:北京海泰方圆科

3、技股份有限公司、北京握奇智能科技有限公司、北京大明五洲科技有限公司、恒宝股份有限公司、深圳市明华澳汉科技股份有限公司、武汉天喻信息产业股份有限公司、北京飞天诚信科技股份有限公司、华翔腾数码科技有限公司。本标准起草人:刘平、郭宝安、石玉平、柳增寿、胡俊义、管延军、项莉、雷继业、胡鹏、赵再兴、段晓毅、刘玉峰、刘伟丰、陈吉、何永福、李高锋、黄东杰、王建承、汪雪林、赵李明、蒋红宇、王烨。本标准凡涉及密码算法相关内容,按照国家有关法规实施。引 言本标准的目标是为公钥密码基础设施应用体系框架下的智能密码钥匙设备制定统一的应用接口标准,通过该接口调用智能密码钥匙,向上层提供基础密码服务。为该类密码设备的开发

4、、使用及检测提供标准依据和指导,有利于提高该类密码设备的产品化、标准化和系列化水平。本标准未包含标识算法SM9相关的应用接口。信息安全技术 智能密码钥匙应用接口规范1 范围本标准规定了基于PKI密码体制的智能密码钥匙应用接口,描述了密码相关应用接口的函数、数据类型、参数的定义和设备的安全要求。本标准适用于智能密码钥匙产品的研制、使用和检测。2 规范性引用文件下列文件对于本标准的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T AAAA SM2密码算法使用规范GB/T BBBB 密码应用标识规范GM

5、/T 0022 IPSec VPN技术规范GM/T 0024 SSL VPN技术规范3 术语和定义以下术语和定义适用于本文件。3.1容器 container密码设备中用于保存密钥所划分的唯一性存储空间。3.2终端设备 terminal device本标准中将智能密码钥匙统称为终端设备。3.3设备认证 device authentication智能密码钥匙对应用程序的认证。3.4设备认证密钥 device authentication key用于设备认证的密钥。3.5设备标签 label设备的别名,可以由用户进行设定并存储于设备内部。4 缩略语下列缩略语适用于本文件。API应用编程接口(Appl

6、ication Programming Interface)PKI公钥基础设施(Public Key Infrastructure)PKCS#1公钥密码使用标准系列规范中的第1部分,定义RSA公开密钥算法加密和签名机制(the Public-Key Cryptography Standard Part 1)PKCS#5公钥密码使用标准系列规范中的第5部分,描述一种利用从口令派生出来的安全密钥加密字符串的方法(the Public-Key Cryptography Standard Part 5)PIN个人身份识别码(Personal Identification Number)MAC 消息鉴别

7、码(Message Authentication Code)5 结构模型5.1 层次关系智能密码钥匙应用接口位于智能密码钥匙应用程序与设备驱动程序之间,如图1所示。智能密码钥匙应用程序智能密码钥匙应用接口智能密码钥匙设备驱动程序设备1设备2设备m图1接口在应用层次关系中的位置5.2 设备的应用结构一个设备中存在设备认证密钥和多个应用,应用之间相互独立。设备的逻辑结构如图2所示。设备认证密钥应用1应用2应用n图2 设备逻辑结构应用由管理员PIN、用户PIN、文件和容器组成,可以存在多个文件和多个容器。每个应用维护各自的与管理员PIN和用户PIN相关的权限状态。一个应用的逻辑结构如图3所示。管理员

8、PIN用户PIN文件1文件2文件m容器1 加密公钥加密私钥签名公钥签名私钥会话密钥1会话密钥2会话密钥k 容器n 加密公钥加密私钥签名公钥签名私钥会话密钥1会话密钥2会话密钥i图3 应用逻辑结构图容器中存放加密密钥对、签名密钥对和会话密钥。其中加密密钥对用于保护会话密钥,签名密钥对用于数字签名和验证,会话密钥用于数据加解密和MAC运算。容器中也可以存放与加密密钥对对应的加密数字证书和与签名密钥对对应的签名数字证书。其中,签名密钥对由内部产生,加密密钥对由外部产生并安全导入,会话密钥可由内部产生或者由外部产生并安全导入。6 数据类型定义6.1 算法标识本标准中使用的算法其标识定义参见GB/T B

9、BBB。6.2 基本数据类型本标准中的字节数组均为高位字节在前(Big-Endian)方式存储和交换。基本数据类型定义如表1所示:表1 基本数据类型类型名称描述定义INT8有符号8位整数INT16有符号16位整数INT32有符号32位整数UINT8无符号8位整数UINT16无符号16位整数UINT32无符号32位整数BOOL布尔类型,取值为TRUE或FALSEBYTE字节类型,无符号8位整数typedef UINT8 BYTECHAR字符类型,无符号8位整数typedef UINT8 CHARSHORT短整数,有符号16位typedef INT16 SHORTUSHORT无符号16位整数typ

10、edef UINT16 USHORTLONG 长整数,有符号32位整数typedef INT32 LONGULONG长整数,无符号32位整数typedef UINT32 ULONGUINT无符号32位整数typedef UINT32 UINTWORD字类型,无符号16位整数typedef UINT16 WORDDWORD双字类型,无符号32位整数typedef UINT32 DWORDFLAGS标志类型,无符号32位整数typedef UINT32 FLAGSLPSTR8位字符串指针,按照UTF8格式存储及交换typedef CHAR * LPSTRHANDLE 句柄,指向任意数据对象的起始地

11、址typedef void * HANDLEDEVHANDLE设备句柄typedef HANDLE DEVHANDLEHAPPLICATION应用句柄typedef HANDLE HAPPLICATIONHCONTAINER容器句柄typedef HANDLE HCONTAINER6.3 常量定义数据常量标识定义了在规范中用到的常量的取值。数据常量标识的定义如表2所示。表2 常量定义常量名取值描述TRUE0x00000001布尔值为真FALSE0x00000000布尔值为假DEVAPI_stdcall_stdcall函数调用方式ADMIN_TYPE0管理员PIN类型USER_TYPE1用户PI

12、N类型6.4 复合数据类型6.4.1 版本a) 类型定义typedef struct Struct_VersionBYTE major;BYTE minor;VERSION;b) 数据项描述参见表3:表3 版本定义数据项类型意义备注majorBYTE主版本号主版本号和次版本号以“.”分隔,例如 Version 1.0,主版本号为1,次版本号为0;Version 2.10,主版本号为2,次版本号为10。minorBYTE次版本号6.4.2 设备信息a) 类型定义typedef struct Struct_DEVINFOVERSIONVersion;CHARManufacturer64;CHARI

13、ssuer64;CHARLabel32;CHARSerialNumber32;VERSIONHWVersion;VERSIONFirmwareVersion;ULONGAlgSymCap;ULONGAlgAsymCap;ULONGAlgHashCap;ULONGDevAuthAlgId;ULONGTotalSpace;ULONGFreeSpace;ULONGMaxECCBufferSize;ULONGMaxBufferSize;BYTE Reserved64; DEVINFO_SKF,*PDEVINFO_SKF;b) 数据项描述参见表4:表4 设备信息描述数据项类型意义备注VersionVER

14、SION版本号数据结构版本号,本结构的版本号为1.0ManufacturerCHAR数组设备厂商信息以0为结束符的ASCII字符串IssuerCHAR数组发行厂商信息以0为结束符的ASCII字符串LabelCHAR数组设备标签以0为结束符的ASCII字符串SerialNumberCHAR数组序列号以0为结束符的ASCII字符串HWVersionVERSION设备硬件版本FirmwareVersionVERSION设备本身固件版本AlgSymCapULONG分组密码算法标识AlgAsymCapULONG非对称密码算法标识AlgHashCapULONG密码杂凑算法标识DevAuthAlgIdULO

15、NG设备认证使用的分组密码算法标识TotalSpaceULONG设备总空间大小FreeSpaceULONG用户可用空间大小MaxECCBufferSizeULONG能够处理的ECC加密数据大小MaxBufferSizeULONG能够处理的分组运算和杂凑运算的数据大小ReservedBYTE保留扩展6.4.3 RSA公钥数据结构a) 类型定义typedef struct Struct_RSAPUBLICKEYBLOBULONGAlgID;ULONGBitLen;BYTEModulusMAX_RSA_MODULUS_LEN;BYTEPublicExponentMAX_RSA_EXPONENT_LE

16、N;RSAPUBLICKEYBLOB, *PRSAPUBLICKEYBLOB;MAX_RSA_MODULUS_LEN为算法模数的最大长度;MAX_RSA_EXPONENT_LEN为算法指数的最大长度。b) 数据项描述参见表5:表5 RSA公钥数据结构数据项类型意义备注AlgIDULONG算法标识号BitLenULONG模数的实际位长度必须是8的倍数ModulusBYTE数组模数n = p * q实际长度为BitLen/8字节#define MAX_RSA_MODULUS_LEN 256#define MAX_RSA_EXPONENT_LEN 4PublicExponentBYTE数组公开密钥e

17、一般为000100016.4.4 RSA私钥数据结构a) 类型定义typedef struct Struct_RSAPRIVATEKEYBLOBULONGAlgID;ULONGBitLen;BYTEModulusMAX_RSA_MODULUS_LEN;BYTEPublicExponentMAX_RSA_EXPONENT_LEN;BYTEPrivateExponentMAX_RSA_MODULUS_LEN;BYTEPrime1MAX_RSA_MODULUS_LEN/2;BYTEPrime2MAX_RSA_MODULUS_LEN/2;BYTEPrime1ExponentMAX_RSA_MODULU

18、S_LEN/2;BYTEPrime2ExponentMAX_RSA_MODULUS_LEN/2;BYTECoefficientMAX_RSA_MODULUS_LEN/2;RSAPRIVATEKEYBLOB, *PRSAPRIVATEKEYBLOB;MAX_RSA_MODULUS_LEN为RSA算法模数的最大长度;b) 数据项描述参见表6:表6 RSA私钥数据结构数据项类型意义备注AlgIDULONG算法标识号BitLenULONG模数的实际位长度必须是8的倍数ModulusBYTE数组模数n = p * q实际长度为BitLen/8字节PublicExponentBYTE数组公开密钥e一般为0

19、0010001PrivateExponentBYTE数组私有密钥d实际长度为BitLen/8字节Prime1BYTE数组素数p实际长度为BitLen/16字节Prime2BYTE数组素数q实际长度为BitLen/16字节Prime1ExponentBYTE数组d mod (p-1)的值实际长度为BitLen/16字节Prime2ExponentBYTE数组d mod (q -1)的值实际长度为BitLen/16字节CoefficientBYTE数组q模p的乘法逆元实际长度为BitLen/16字节6.4.4 ECC公钥数据结构a) 类型定义typedef struct Struct_ECCPUB

20、LICKEYBLOBULONGBitLen;BYTEXCoordinateECC_MAX_XCOORDINATE_BITS_LEN/8;BYTEYCoordinateECC_MAX_YCOORDINATE_BITS_LEN/8;ECCPUBLICKEYBLOB, *PECCPUBLICKEYBLOB;ECC_MAX_XCOORDINATE_LEN为ECC算法X坐标的最大长度;ECC_MAX_YCOORDINATE_LEN为ECC算法Y坐标的最大长度。b) 数据项描述参见表7:表7 ECC公钥数据结构数据项类型意义备注BitLenULONG模数的实际位长度必须是8的倍数XCoordinateBY

21、TE数组曲线上点的X坐标有限域上的整数#define ECC_MAX_XCOORDINATE_BITS_LEN 512YCoordinateBYTE数组曲线上点的Y坐标有限域上的整数#define ECC_MAX_YCOORDINATE_BITS_LEN 5126.4.5 ECC私钥数据结构a) 类型定义typedef struct Struct_ECCPRIVATEKEYBLOBULONGBitLen;BYTEPrivateKeyECC_MAX_MODULUS_BITS_LEN/8;ECCPRIVATEKEYBLOB, *PECCPRIVATEKEYBLOB;ECC_MAX_MODULUS_

22、BITS_LEN为ECC算法模数的最大长度。b) 数据项描述参见表8:表8 ECC私钥数据结构数据项类型意义备注BitLenULONG模数的实际位长度必须是8的倍数PrivateKeyBYTE数组私有密钥有限域上的整数#define ECC_MAX_MODULUS_BITS_LEN 5126.4.6 ECC密文数据结构a) 类型定义typedef struct Struct_ECCCIPHERBLOBBYTE XCoordinateECC_MAX_XCOORDINATE_BITS_LEN/8; BYTE YCoordinateECC_MAX_XCOORDINATE_BITS_LEN/8; BY

23、TE HASH32; ULONGCipherLen;BYTE Cipher1; ECCCIPHERBLOB, *PECCCIPHERBLOB;b) 数据项描述参见表9:表9 ECC密文数据结构数据项类型意义备注XCoordinateBYTE数组与y组成椭圆曲线上的点(x,y)YCoordinateBYTE数组与x组成椭圆曲线上的点(x,y)HASHBYTE数组明文的杂凑值CipherLenULONG密文数据长度CipherBYTE数组密文数据实际长度为CipherLen6.4.7 ECC签名数据结构a) 类型定义typedef struct Struct_ECCSIGNATUREBLOBBYT

24、E rECC_MAX_XCOORDINATE_BITS_LEN/8;BYTE sECC_MAX_XCOORDINATE_BITS_LEN/8; ECCSIGNATUREBLOB, *PECCSIGNATUREBLOB;ECC_MAX_MODULUS_BITS_LEN为ECC算法模数的最大长度;b) 数据项描述参见表10:表10 ECC签名数据结构数据项类型意义备注rBYTE数组签名结果的r部分sBYTE数组签名结果的s部分6.4.8 分组密码参数a) 类型定义typedef struct Struct_BLOCKCIPHERPARAMBYTEIVMAX_IV_LEN;ULONGIVLen;UL

25、ONGPaddingType;ULONGFeedBitLen; BLOCKCIPHERPARAM, *PBLOCKCIPHERPARAM;b) 数据项描述参见表11:表11 分组密码参数数据项类型意义备注IVBYTE数组初始向量,MAX_IV_LEN为初始化向量的最大长度#define MAX_IV_LEN 32IVLenULONG初始向量实际长度(按字节计算)PaddingTypeULONG填充方式,0表示不填充,1表示按照PKCS#5方式进行填充FeedBitLenULONG反馈值的位长度(按位计算)只针对OFB、CFB模式6.4.9 ECC加密密钥对保护结构a) 类型定义typedef

26、struct SKF_ENVELOPEDKEYBLOBULONG Version; / 当前版本为1ULONG ulSymmAlgID; / 对称算法标识,限定ECB模式ULONG ulBits;/ 加密密钥对的密钥位长度BYTE cbEncryptedPriKey64; / 加密密钥对私钥的密文ECCPUBLICKEYBLOB PubKey; / 加密密钥对的公钥ECCCIPHERBLOB ECCCipherBlob; / 用保护公钥加密的对称密钥密文。ENVELOPEDKEYBLOB, *PENVELOPEDKEYBLOB;私钥密文结构中64字节,有效密文分组从0偏移量字节开始,顺序解密密

27、文分组后将明文连接得到加密密钥对的私钥的明文。数据项描述参见表12:表12 加密密钥对保护结构参数数据项类型意义备注VersionULONG版本号,本版本为1ulSymmAlgIDULONG对称算法标识必须为ECB模式ulBitsULONG加密密钥对的密钥位长cbEncryptedPrivKeyBYTE数组对称算法加密的加密私钥,加密私钥的原文为ECCPRIVATEKEYBLOB结构中的PrivateKey。其有效长度为原文的(ulBits + 7)/8PubKeyECCPUBLICKEYBLOB加密密钥对的公钥ECCCipherBlobECCCIPHERBLOB用保护公钥加密过的对称密钥密文

28、6.4.10 文件属性a) 类型定义typedef struct Struct_FILEATTRIBUTECHARFileName32;ULONGFileSize;ULONGReadRights;ULONGWriteRights; FILEATTRIBUTE, *PFILEATTRIBUTE;b) 数据项描述参见表13:表13 文件属性数据项类型意义备注FileNameCHAR数组文件名以0结束的ASCII字符串,最大长度为32FileSizeULONG文件大小创建文件时定义的文件大小ReadRightsULONG读取权限读取文件需要的权限WriteRightsULONG写入权限写入文件需要的

29、权限6.4.11 权限类型权限类型的定义参见表14:表14 权限类型权限类型值说明SECURE_NEVER_ACCOUNT0x00000000不允许SECURE_ADM_ACCOUNT0x00000001管理员权限SECURE_USER_ACCOUNT0x00000010用户权限SECURE_ANYONE_ACCOUNT0x000000FF任何人6.4.12 设备状态设备状态的定义参见表15:表15 设备状态设备状态值说明DEV_ABSENT_STATE0x00000000设备不存在DEV_PRESENT_STATE0x00000001设备存在DEV_UNKNOW_STATE0x0000000

30、2设备状态未知7 接口函数7.1 设备管理7.1.1 概述设备管理主要完成设备的插拔事件处理、枚举设备、连接设备、断开连接、获取设备状态、设置设备标签、获取设备信息、锁定设备、解锁设备和设备命令传输等操作。设备管理系列函数如表16所示:表16 设备管理系列函数函数名称功能SKF_WaitForDevEvent等待设备插拔事件SKF_CancelWaitForDevEvent取消等待设备插拔事件SKF_EnumDev枚举设备SKF_ConnectDev连接设备SKF_DisconnectDev断开连接SKF_GetDevState获取设备状态SKF_SetLabel设置设备标签SKF_GetDe

31、vInfo获取设备信息SKF_LockDev锁定设备SKF_UnlockDev解锁设备SKF_Transmit设备命令传输7.1.2 等待设备插拔事件原型ULONG DEVAPI SKF_WaitForDevEvent(LPSTR szDevName,ULONG *pulDevNameLen, ULONG *pulEvent)功能描述该函数等待设备插入或者拔除事件。szDevName返回发生事件的设备名称。参数szDevNameOUT 发生事件的设备名称。pulDevNameLenIN/OUT 输入/输出参数,当输入时表示缓冲区长度,输出时表示设备名称的有效长度,长度包含字符串结束符。pulE

32、ventOUT事件类型。1表示插入,2表示拔出。返回值SAR_OK:成功。其他:错误码。备注本函数为阻塞函数。7.1.3 取消等待设备插拔事件原型ULONG DEVAPI SKF_CancelWaitForDevEvent()功能描述该函数取消等待设备插入或者拔除事件。参数返回值SAR_OK:成功。其他:错误码。备注使本进程正在执行的SKF_WaitForDevEvent函数立即返回。7.1.4 枚举设备原型ULONG DEVAPI SKF_EnumDev(BOOL bPresent, LPSTR szNameList, ULONG *pulSize)功能描述获得当前系统中的设备列表。参数bP

33、resentIN 为TRUE表示取当前设备状态为存在的设备列表。为FALSE表示取当前驱动支持的设备列表。szNameListOUT 设备名称列表。如果该参数为NULL,将由pulSize返回所需要的内存空间大小。每个设备的名称以单个0结束,以双0表示列表的结束。pulSizeIN,OUT 输入时表示设备名称列表的缓冲区长度,输出时表示szNameList所占用的空间大小。返回值SAR_OK:成功。其他:错误码。7.1.5 连接设备原型ULONG DEVAPI SKF_ConnectDev (LPSTR szName, DEVHANDLE *phDev)功能描述通过设备名称连接设备,返回设备的

34、句柄。参数szNameIN 设备名称。phDevOUT 返回设备操作句柄。返回值SAR_OK:成功。其他:错误码。7.1.6 断开连接原型ULONG DEVAPI SKF_DisConnectDev (DEVHANDLE hDev)功能描述断开一个已经连接的设备,并释放句柄。参数hDevIN 连接设备时返回的设备句柄。返回值SAR_OK:成功。其他:错误码。备注如果该设备已被锁定,函数应首先解锁该设备。断开连接操作并不影响设备的权限状态。7.1.7 获取设备状态原型ULONG DEVAPI SKF_GetDevState(LPSTR szDevName, ULONG *pulDevState)

35、功能描述获取设备是否存在的状态。参数szDevNameIN 设备名称。pulDevStateOUT 返回设备状态。返回值SAR_OK:成功。其他:错误码。7.1.8 设置设备标签原型ULONG DEVAPI SKF_SetLabel (DEVHANDLE hDev, LPSTR szLabel)功能描述设置设备标签。参数hDevIN 连接设备时返回的设备句柄。szLabelIN 设备标签字符串。该字符串应小于32字节。返回值SAR_OK:成功。其他:错误码。7.1.9 获取设备信息原型ULONG DEVAPI SKF_GetDevInfo (DEVHANDLE hDev, DEVINFO *p

36、DevInfo)功能描述获取设备的一些特征信息,包括设备标签、厂商信息、支持的算法等。参数hDevIN 连接设备时返回的设备句柄。pDevInfoOUT 返回设备信息。返回值SAR_OK:成功。其他:错误码。7.1.10 锁定设备原型ULONG DEVAPI SKF_LockDev (DEVHANDLE hDev, ULONG ulTimeOut)功能描述获得设备的独占使用权。参数hDevIN 连接设备时返回的设备句柄。ulTimeOutIN 超时时间,单位为毫秒。如果为0xFFFFFFFF表示无限等待。返回值SAR_OK:成功。其他:错误码。7.1.11 解锁设备原型ULONG DEVAPI

37、 SKF_UnlockDev (DEVHANDLE hDev)功能描述释放对设备的独占使用权。参数hDevIN 连接设备时返回的设备句柄。返回值SAR_OK:成功。其他:错误码。7.1.12 设备命令传输原型ULONG DEVAPI SKF_Transmit(DEVHANDLE hDev, BYTE* pbCommand, ULONG ulCommandLen,BYTE* pbData, ULONG* pulDataLen)功能描述将命令直接发送给设备,并返回结果。参数hDevIN 设备句柄。pbCommandIN 设备命令。ulCommandLenIN 命令长度。pbDataOUT 返回结果

38、数据。pulDataLenIN,OUT 输入时表示结果数据缓冲区长度,输出时表示结果数据实际长度。返回值SAR_OK:成功。其他:错误码。备注本函数仅用于设备检测。7.2 访问控制7.2.1 概述访问控制主要完成设备认证、PIN码管理和安全状态管理等操作。访问控制系列函数如表所17:表17 访问控制系列函数 函数名称功能SKF_ChangeDevAuthKey修改设备认证密钥SKF_DevAuth设备认证SKF_ChangePIN修改PINSKF_GetPINInfo获得PIN码信息SKF_VerifyPIN校验PINSKF_UnblockPIN解锁PINSKF_ClearSecueState

39、清除应用安全状态7.2.2 修改设备认证密钥原型ULONG DEVAPI SKF_ChangeDevAuthKey (DEVHANDLE hDev, BYTE *pbKeyValue, ULONG ulKeyLen)功能描述更改设备认证密钥。参数hDevIN 连接时返回的设备句柄。pbKeyValueIN 密钥值。ulKeyLenIN 密钥长度。返回值SAR_OK:成功。其他:错误码。备注权限要求:设备认证成功后才能使用。7.2.3 设备认证原型ULONG DEVAPI SKF_DevAuth (DEVHANDLE hDev, BYTE *pbAuthData,ULONG ulLen)功能描述

40、设备认证是设备对应用程序的认证。认证过程参见8.2.3。参数hDevIN 连接时返回的设备句柄。pbAuthDataIN 认证数据。ulLenIN 认证数据的长度。返回值SAR_OK:成功。其他:错误码。7.2.4 修改PIN原型ULONG DEVAPI SKF_ChangePIN (HAPPLICATION hApplication, ULONG ulPINType, LPSTR szOldPin,LPSTR szNewPin,ULONG *pulRetryCount)功能描述调用该函数可以修改Administrator PIN和User PIN的值。如果原PIN码错误导致验证失败,该函数会

41、返回相应PIN码的剩余重试次数,当剩余次数为0时,表示PIN已经被锁死。参数hApplicationIN 应用句柄。ulPINTypeIN PIN类型,可为ADMIN_TYPE或USER_TYPE。szOldPinIN 原PIN值。szNewPinIN 新PIN值。pulRetryCountOUT 出错后重试次数。返回值SAR_OK:成功。其他:错误码。7.2.5 获取PIN信息原型ULONG DEVAPI SKF_GetPINInfo(HAPPLICATION hApplication, ULONG ulPINType, ULONG *pulMaxRetryCount, ULONG *pulRemainRetryCount, BOOL *pbDefaultPin)功能描述获取PIN码信息,包括最大重试次数、当前剩余重试次数,以及当前PIN码是否为出厂默认PIN码。参数hApplicationIN 应用句柄。ulPINTypeIN PIN类型。pulMaxRetryCount

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 国家标准

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁