搜索结果: GM/T 0118-2022, GM/T0118-2022, GMT 0118-2022, GMT0118-2022
| 标准编号 | GM/T 0118-2022 (GM/T0118-2022) | | 中文名称 | 浏览器数字证书应用接口规范 | | 英文名称 | Browser digital certificate application interface specification | | 行业 | Chinese Industry Standard (推荐) | | 中标分类 | L80 | | 字数估计 | 32,362 | | 发布日期 | 2022-11-20 | | 实施日期 | 2023-06-01 | | 发布机构 | 国家密码管理局 |
GM/T 0118-2022: 浏览器数字证书应用接口规范
ICS 35.030
CCSL80
中华人民共和国密码行业标准
浏览器数字证书应用接口规范
2022-11-20发布
2023-06-01实施
国家密码管理局 发 布
目次
前言 Ⅲ
1 范围 1
2 规范性引用文件 1
3 术语和定义 1
4 缩略语 2
5 总体技术框架 2
6 算法标识与数据类型 3
6.1 算法标识 3
6.2 基本数据类型 3
6.3 常量定义 3
6.4 复合数据类型 4
7 接口函数 12
7.1 概述 12
7.2 证书存储区管理接口 13
7.3 UI接口 19
7.4 SKF管理接口 20
7.5 与其他接口规范的关系 20
附录A(规范性) 错误码定义和说明 22
附录B(资料性) 使用本规范接口的例程 23
B.1 注册SKF以及证书存储 23
B.2 SKF函数指针 25
B.3 加载释放SKF动态库 25
B.4 证书使用 26
参考文献 28
前言
本文件按照GB/T 1.1-2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定
起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。
本文件由密码行业标准化技术委员会提出并归口。
本文件起草单位:天津赢达信科技有限公司、北京信安世纪科技有限公司、北京数字认证股份有限
公司、北京海泰方圆科技股份有限公司、中国民生银行股份有限公司、北京奇虎科技有限公司、亚数信息
科技(上海)有限公司。
本文件主要起草人:张秋璞、曹伟、彭竹、李强强、张永强、张庆勇、蒋红宇、虞刚、刘书洪、袁丽欧、
霍海涛、张志磊、翟新元。
浏览器数字证书应用接口规范
1 范围
本文件规定了浏览器SM2数字证书应用接口,描述了在支持国产密码算法应用的浏览器中,数字
证书应用接口的函数、数据类型和参数的定义。
本文件适用于浏览器产品的开发、应用和检测,支持SM2数字证书的浏览器应用的开发,安全浏览
器密码模块的检测,也可用于指导第三方应用调用不同终端设备中SM2数字证书的集成和开发。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文
件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于
本文件。
GB/T 20518 信息安全技术 公钥基础设施 数字证书格式
GB/T 32918.2 信息安全技术 SM2椭圆曲线公钥密码算法 第2部分:数字签名算法
GB/T 33560 信息安全技术 密码应用标识规范
GB/T 35275 信息安全技术 SM2密码算法加密签名消息语法规范
GM/T 0016 智能密码钥匙密码应用接口规范
GM/T 0100 人工确权型数字签名密码应用技术要求
GM/Z4001 密码术语
3 术语和定义
GM/Z4001界定的以及下列术语和定义适用于本文件。
3.1
由GB/T 32918.5定义的公钥密码算法。
3.2
数字证书 digitalcertificate
也称公钥证书,由证书认证机构(CA)签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有
效期以及扩展信息的一种数据结构。按类型可分为个人证书、机构证书和设备证书,按用途可分为签名
证书和加密证书。
3.3
数字签名 digitalsignature
签名者使用私钥对待签名数据做密码运算得到的结果,该结果只能用签名者的公钥进行验证,用于
确认待签名数据的完整性、签名者身份的真实性和签名行为的抗抵赖性。
3.4
证书上下文 certificatecontext
一种数据结构,用于保存相关的证书信息,证书信息包括拥有者信息、公开密钥、签发者信息、有效
期以及扩展信息等。
3.5
证书存储区 certificatestorage
一种逻辑概念,用于集中保存数字证书,包括用户证书、根证书等不同类型的证书,具体的证书存储
区的位置不做定义,由实现本接口的厂商自行实现。
3.6
一种数据结构,用于保存证书上下文和证书对应的SKF信息,SKF信息包括SKF接口名称、设备
名称、应用名称、容器名称。
注:SKF为GM/T 0016定义的接口规范。
4 缩略语
下列缩略语适用于本文件。
5 总体技术框架
浏览器数字证书应用接口的总体技术框架如图1所示。
图1 浏览器数字证书应用接口的总体技术框架
本文件规范的接口位于支持SM系列算法应用的浏览器、第三方应用和SKF接口之间,下层通过
SKF接口访问终端密码设备;上层为SM系列算法浏览器、第三方应用提供接口,实现浏览器数字证书
应用。其核心是定义终端操作系统上的SM2证书存储与调用的管理机制,如SM2数字证书在终端操
作系统与浏览器中的存储、枚举、验证、与终端密码硬件的绑定关系等应用需求,使浏览器与第三方应用
能快捷地在终端操作系统上找到SM2数字证书,并获取与SM2数字证书相关的SKF接口信息。本文
件规范的接口以应用接口库方式和浏览器对接,应内置或者支持导入SM2根证书,并且为提升自身的
工作效率,其实现与调用方式推荐采用C语言实现。
6 算法标识与数据类型
6.1 算法标识
本文件中使用的算法其标识定义按照GB/T 33560执行。
6.2 基本数据类型
本文件中的数据类型、字节数组均以高位字节在前(Big-Endian)方式存储和交换。基本数据类型
定义如表1所示。
表1 基本数据类型
类型名称 描述
INT8 有符号8位整数
INT16 有符号16位整数
INT32 有符号32位整数
INT64 有符号64位整数
UINT8 无符号8位整数
UINT16 无符号16位整数
UINT32 无符号32位整数
UINT64 无符号64位整数
BOOL 布尔类型,取值为TRUE或FALSE
6.3 常量定义
数据常量标识定义了在标准中用到的常量的取值。
数据常量标识的定义如表2所示。
表2 常量定义
常量名 取值 描述
TRUE 0x00000001 布尔值为真
FALSE 0x00000000 布尔值为假
SSF_CERT_ALG_FLAG_RSA 0x00000001 RSA证书
SSF_CERT_ALG_FLAG_SM2 0x00000002 SM2证书
SSF_CERT_ALG_FLAG_OTHER 0x00000004 其他证书
SSF_CERT_TYPE_SIGN 0x00000001 签名证书
SSF_CERT_TYPE_CRYPT 0x00000002 加密证书
SSF_CERT_VERIFY_FLAG_TIME 0x00000001 验证时间有效期
SSF_CERT_VERIFY_FLAG_CHAIN 0x00000002 验证证书链以及签名
SSF_CERT_VERIFY_FLAG_CRL 0x00000004 验证吊销列表
SSFAPI
Windows系统:_stdcal
其他系统:空值
Windows系统:_stdcal调用方式
其他系统:无
表2 常量定义 (续)
常量名 取值 描述
SSF_OCSP_STATE_GOOD 0x00000000 证书查询OCSP状态正确
SSF_OCSP_STATE_REVOKED 0x00000001 证书被吊销
SSF_OCSP_STATE_UNKNOWN 0x00000002 证书未知
SSF_CERT_STATE_GOOD 0x00000000 证书正确
SSF_CERT_STATE_OUT_TIME 0x00000001 证书不在有效期
SSF_CERT_STATE_NO_CHIAN 0x00000002 证书未发现证书链
SSF_CERT_STATE_IN_CRL 0x00000003 证书被吊销
SSF_CERT_STATE_INVALID_SIGN 0x00000004 非法签名证书
SSF_CERT_STATE_FAIL 0x00000005 证书其他错误
SSF_CERT_CA_ROOT_STORE 0x00000001 证书存储区为根或中间CA存储区
SSF_CERT_USER_STORE 0x00000002 证书存储区为用户存储区
SSF_CERT_FIND_FLAG_ALG_TYPE 0x00000001 证书查找标识算法类型
SSF_CERT_FIND_FLAG_USAGE_TYPE 0x00000002 证书查找标识用途类型
SSF_CERT_FIND_FLAG_STORE_TYPE 0x00000004 证书查找标识存储类型
SSF_CERT_FIND_FLAG_SUBJECT 0x00000008 证书查找标识主题项
SSF_CERT_FIND_FLAG_ISSUER 0x00000010 证书查找标识颁发者
SSF_CERT_FIND_FLAG_PUBKEY 0x00000020 证书查找标识主题公钥
SSF_CERT_FIND_FLAG_SN 0x00000040 证书查找标识序列号
SSF_CERT_FIND_FLAG_SUBJECT_KEYID 0x00000080 证书查找标识使用者密钥ID
SSF_CERT_FIND_FLAG_ISSUER_KEYID 0x00000100 证书查找标识颁发者密钥ID
SSF_CERT_FIND_FLAG_VENDOR 0x00000200 证书查找标识用户自定义数据
SSF_CRL_FIND_FLAG_ISSUER 0x00000001 吊销列表查找标识颁发者
SSF_CRL_FIND_FLAG_EFFECT_TIME 0x00000002 吊销列表查找标识生效时间
6.4 复合数据类型
6.4.1 基本数据
6.4.1.1 类型定义
typedefstruct_SSF_Data
UINT32 uiLength;
UINT8 *data;
}SSF_Data;
6.4.1.2 数据项描述
数据项描述如表3所示。
表3 数据项描述
数据项 类型 意义 备注
uiLength UINT32 长度 数据长度
data UINT8* 值 数据值
6.4.2 证书属性
6.4.2.1 类型定义
typedefstruct_SSF_CertificateAttr
SSF_DatastCommonName;
SSF_DatastSubject;
SSF_DatastIssuer;
SSF_DatastPublicKey;
SSF_DatastSerialNumber;
SSF_DatastVendorData;
SSF_DatastExtKeyUsage;
UINT64ulNotAfter;
}SSF_CertificateAttr;
数据项描述如表4所示。
表4 数据项描述
数据项 类型 意义 备注
stCommonName SSF_Data 通用名 应符合GB/T 20518
stSubject SSF_Data 主题项 应符合GB/T 20518
stIssuer SSF_Data 颁发者 应符合GB/T 20518
stPublicKey SSF_Data 公钥 应符合GB/T 20518
stSerialNumber SSF_Data 序列号 应符合GB/T 20518
stSubjectKeyID SSF_Data 使用者密钥标识 应符合GB/T 33560
stIssuerKeyID SSF_Data 颁发者密钥标识 应符合GB/T 33560
表4 数据项描述 (续)
数据项 类型 意义 备注
stVendorData SSF_Data 用户自定义数据 应符合GB/T 20518
stExtKeyUsage SSF_Data 增强(扩展)私钥用法 应符合GB/T 20518
uiCertAlgType UINT32 证书算法类型 应符合GB/T 20518
uiCertUsageType UINT32 证书用途 应符合GB/T 20518
uiVerify UINT32 验证结果 应符合GB/T 20518
ulNotBefore UINT64 起始时间 应符合GB/T 20518
ulNotAfter UINT64 截止时间 应符合GB/T 20518
6.4.3 证书查找属性
6.4.3.1 类型定义
typedefstruct_SSF_CertificateFindAttr
UINT32uiStoreType;
SSF_DatastPublicKey;
SSF_DatastSerialNumber;
}SSF_CertificateFindAttr;
数据项描述如表5所示。
表5 数据项描述
数据项 类型 意义 备注
uiFindFlag UINT32 查找标识
取值为以下选项按位或,当多个标识位被设置时,与标识位对应的所
有查找属性应同时满足:
SSF_CERT_FIND_FLAG_ALG_TYPE;
SSF_CERT_FIND_FLAG_USAGE_TYPE;
SSF_CERT_FIND_FLAG_STORE_TYPE;
SSF_CERT_FIND_FLAG_SUBJECT;
SSF_CERT_FIND_FLAG_ISSUER;
SSF_CERT_FIND_FLAG_PUBKEY;
SSF_CERT_FIND_FLAG_SN;
SSF_CERT_FIND_FLAG_SUBJECT_KEYID;
SSF_CERT_FIND_FLAG_ISSUER_KEYID;
SSF_CERT_FIND_FLAG_VENDOR;
表5 数据项描述 (续)
数据项 类型 意义 备注
uiCertAlgType UINT32 证书算法类型
uiCertAlgType取值:SSF_CERT_ALG_FLAG_RSA、SSF_CERT_
ALG_FLAG_SM2、SSF_CERT_ALG_FLAG_OTHER;
在uiFindFlag设置了SSF_CERT_FIND_FLAG_ALG_TYPE时,本
查找项有效
uiCertUsageType UINT32 证书用途
uiCertUsageType取值:SSF_CERT_TYPE_SIGN、SSF_CERT_
TYPE_CRYPT;
在uiFindFlag设置了SSF_CERT_FIND_FLAG_USAGE_TYPE时,
本查找项有效
uiStoreType UINT32 存储类型
uiStoreType取值SSF_CERT_CA_ROOT_STORE、SSF_CERT_
USER_STORE;
在uiFindFlag设置了SSF_CERT_FIND_FLAG_STORE_TYPE时,
本查找项有效
stSubject SSF_Data 主题项
在uiFindFlag设置了SSF_CERT_FIND_FLAG_SUBJECT时,本查
找项有效
stIssuer SSF_Data 颁发者
在uiFindFlag设置了SSF_CERT_FIND_FLAG_ISSUER时,本查找
项有效
stPublicKey SSF_Data 公钥
在uiFindFlag设置了SSF_CERT_FIND_FLAG_PUBKEY时,本查
找项有效
stSerialNumber SSF_Data 序列号 在uiFindFlag设置了SSF_CERT_FIND_FLAG_SN时,本查找项有效
stSubjectKeyID SSF_Data 使用者密钥标识
在uiFindFlag设置了SSF_CERT_FIND_FLAG_SUBJECT_KEYID
时,本查找项有效
stIssuerKeyID SSF_Data 颁发者密钥标识
在uiFindFlag设置了SSF_CERT_FIND_FLAG_ISSUER_KEYID
时,本查找项有效
stVendorData SSF_Data 用户自定义数据
在uiFindFlag设置了SSF_CERT_FIND_FLAG_VENDOR时,本查
找项有效
6.4.4 证书内容
6.4.4.1 类型定义
typedefstruct_SSF_CertificateData
UINT8*data;
}SSF_CertificateData;
数据项描述如表6所示。
表6 数据项描述
数据项 类型 意义 备注
uiLength UINT32 长度 data的长度
data UINT8* 数据 数据值
6.4.5 证书上下文
6.4.5.1 类型定义
typedefstruct_SSF_CertificateContext
}SSF_CertificateContext;
数据项描述如表7所示。
表7 数据项描述
数据项 类型 意义
stAttr SSF_CertificateAttr 属性
stContent SSF_CertificateData 内容
6.4.6 SKF结构
6.4.6.1 类型定义
typedefstruct_SSF_SKF
SSF_Data stName;
SSF_Data stPath;
UINT32 uiSignType;
UINT32 uiPinMode;
}SSF_SKF;
6.4.6.2 数据项描述
数据项描述如表8所示。
表8 数据项描述
数据项 类型 意义 备注
stName SSF_Data SKF接口库名称
stPath SSF_Data SKF接口库路径
根据接口是32位或
64位,配置对应路径
uiSignType UINT32
签名类型:
0:对待签名数据的杂凑值计算签名,数字签名接口符合GM/T 0016;
1:对明文计算签名,数字签名接口符合GM/T 0100,此时终端密码设备
为人工确权型数字签名设备,例如可视按键型智能密码钥匙;
2:支持SKF扩展定义的数字签名接口,例如,由数字签名接口根据参数
输入值的格式自动判断输入的参数是待签名数据还是待签名数据的杂
凑值
在计算待签名数据
的杂凑值时,待签
名数据应执行SM2
签名预处理,预处
理 过 程 应 符 合
GB/T 32918.2
表8 数据项描述 (续)
数据项 类型 意义 备注
uiPinMode UINT32
PIN码校验模式:
0:由上层应用弹出PIN框并实现校验用户PIN的功能;
1:上层应用不调用SKF校验PIN码函数,由终端密码设备厂商在需要
时弹出校验PIN码框或通过自定义的安全通道进行用户鉴别功能,例
如硬件自带键盘、自带指纹传感器等鉴别方式;
2:支持SKF扩展定义的鉴别方式或鉴别接口,由终端密码设备厂商通
过自定义的鉴别方式或鉴别接口进行用户鉴别功能,例如硬件自带键
盘、自带指纹传感器等鉴别方式
6.4.7 SKF链表
6.4.7.1 类型定义
typedefstruct_SSF_SKF_NODE
SSF_SKF*ptr_data;
struct_SSF_SKF_NODE*ptr_next;
}SSF_SKF_NODE;
6.4.7.2 数据项描述
数据项描述如表9所示。
表9 数据项描述
数据项 类型 意义
ptr_data SSF_SKF SKF值
ptr_next struct_SSF_SKF_NODE*
下一指针,当该指针的值为 NULL时,表示
SKF链表结束
6.4.8 SKF证书对应信息
6.4.8.1 类型定义
typedefstruct_SSF_SKFCertRef
SSF_Data stSKFName;
SSF_Data stDeviceName;
SSF_Data stApplicationName;
}SSF_SKFCertRef;
6.4.8.2 数据项描述
数据项描述如表10所示。
表10 数据项描述
数据项 类型 意义
stSKFName SSF_Data SKF接口名称
stDeviceName SSF_Data 设备名称
stApplicationName SSF_Data 应用名称
stContainerName SSF_Data 容器名称
6.4.9 证书存储上下文
6.4.9.1 类型定义
typedefstruct_SSF_StoreContext
}SSF_StoreContext;
6.4.9.2 数据项描述
数据项描述如表11所示。
表11 数据项描述
数据项 类型 意义 备注
stCertContext SSF_CertificateContext 证书上下文
stSKFCertRef SSF_SKFCertRef SKF证书对应信息
uiStoreType UINT32 证书存储区存储类型
SSF_CERT_CA_ROOT_STORE:
证书存储区为根或中间CA存储区;
SSF_CERT_USER_STORE:
证书存储区为用户存储区
6.4.10 证书存储上下文链表
6.4.10.1 类型定义
typedefstruct_SSF_StoreContext_NODE
SSF_StoreContext*ptr_data;
struct_SSF_StoreContext_NODE*ptr_next;
}SSF_StoreContext_NODE;
6.4.10.2 数据项描述
数据项描述如表12所示。
表12 数据项描述
数据项 类型 意义
ptr_data SSF_StoreContext 证书存储上下文
ptr_next struct_SSF_StoreContext_NODE*
下一证书存储上下文的指针,当该指针的值为
NULL时,表示证书存储上下文链表结束
6.4.11 CRL结构
6.4.11.1 类型定义
typedefstruct_SSF_CRL
UINT32uiLength;
}SSF_CRL;
6.4.11.2 数据项描述
数据项描述如表13所示。
表13 数据项描述
数据项 类型 意义 备注
uiLength UINT32 长度
data UINT8* 值
6.4.12 CRL链表
6.4.12.1 类型定义
typedefstruct_SSF_CRL_NODE
SSF_CRL*ptr_data;
struct_SSF_CRL_NODE*ptr_next;
}SSF_CRL_NODE;
6.4.12.2 数据项描述
数据项描述如表14所示。
表14 数据项描述
数据项 类型 意义 备注
ptr_data SSF_CRL CRL值
ptr_next struct_SSF_CRL_NODE*
下一指针,当该指针的值为 NULL时,
表示CRL链表结束
6.4.13 CRL查找属性
6.4.13.1 类型定义
typedefstruct_SSF_CRLFindAttr
SSF_DatastIssuer;
SSF_DatastEffectTime;
}SSF_CRLFindAttr;
6.4.13.2 数据项描述
数据项描述如表15所示。
表15 数据项描述
数据项 类型 意义 备注
uiFindFlag UINT32 查找标识
取值为以下选项按位或,当多个标识位被设置时,与标识位
对应的所有查找属性应同时满足:
SSF_CRL_FIND_FLAG_ISSUER;
SSF_CRL_FIND_FLAG_EFFECT_TIME
stIssuer SSF_Data 颁发者
stIssuer取值:具体格式见GB/T 20518;
在uiFindFlag设置了SSF_CRL_FIND_FLAG_ISSUER时,
本查找项有效
stEffectTime SSF_Data 生效时间
stEffectTime取值:精确到天,具体格式见GB/T 20518;
在uiFindFlag设置了SSF_CRL_FIND_FLAG_EFFECT_
TIME时,本查找项有效
7 接口函数
7.1 概述
本文件中使用的算法其标识定义应符合GB/T 33560,错误码应符合附录A的规定。
浏览器数字证书应用接口标准主要由以下几部分组成。
a) 证书存储区管理接口
证书存储区管理接口实现SM2证书及存储区的管理,包括证书的存储、枚举、查找、删除等功
能,CRL的存储、枚举、查找等功能以及通过 OCSP和LDAP获取证书状态等功能。其中
SM2数字证书应符合GB/T 20518。
b) UI接口
UI接口包括显示证书和选择证书接口。
显示证书接口实现显示SM2证书详细信息。
选择证书接口实现显示多张证书选择框,让用户选择相应的证书。
c) SKF管理接口
SKF管理接口实现SKF在浏览器数字证书应用接口中的注册、注销与枚举。
证书存储区管理接口、UI接口、SKF管理接口三类接口函数定义简述如表16所示。
表16 接口函数定义简述表
序号 分类 接口名称 简述
证书存储区
管理接口
SSF_CreateCertCtx 创建证书上下文
SSF_FreeCertCtx 释放证书上下文
SSF_AddCert 添加证书到证书存储区
SSF_DelCert 从证书存储区中删除证书
SSF_ClrAlCert 清除证书存储区中指定类型的所有证书
SSF_FindStoreCert 在证书存储区中查找证书
SSF_EnumCert 在证书存储区中遍历证书
SSF_FreeStoreCertCtx 释放证书存储上下文
SSF_CreateCRL 创建CRL对象
SSF_FreeCRL 释放CRL对象
SSF_AddCRL 添加CRL到证书存储区
SSF_DelCRL 从证书存储区中删除CRL
SSF_FindCRL 在证书存储区中查找CRL
SSF_EnumCRL 在证书存储区中遍历CRL
SSF_FreeCRLLink 释放CRL链表
SSF_GetCertStateByOCSP 通过OCSP获取证书状态
SSF_GetCertStateByCRL 通过CRL获取证书状态
SSF_GetCertByLDAP 通过LDAP获取证书
SSF_GetCRLByLDAP 通过LDAP获取CRL
SSF_GetCertByHTTP 通过 HTTP方式获取证书
SSF_UpdateChainByAIA 通过证书AIA更新证书链
SSF_VerifyCert 验证证书有效性
UI接口
SSF_ViewCert 显示证书
SSF_SelectCert 选择证书
SKF管理
接口
SSF_RegisterSKF 注册SKF到本规范定义的系统环境中
SSF_UnregisterSKF 从本规范定义的系统环境中注销SKF
SSF_EnumSKF 枚举本规范定义的系统环境支持的SKF
SSF_FreeSKFLink 释放SKF链表
7.2 证书存储区管理接口
7.2.1 创建证书上下文
功能描述 创建证书上下文。
参数 pCertificate [IN]证书内容,证书类型支持X509格式,支持PEM 和DER编
码,应符合GB/T 20518。
ppCertCtx [OUT]指向证书上下文地址的指针。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.2 释放证书上下文
功能描述 释放证书上下文。
参数 pCertCtx [IN]证书上下文地址。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.3 添加证书到证书存储区
函数原型 UINT32SSFAPISSF_AddCert(constSSF_CertificateContext*pCertCtx,
constSSF_SKFCertRef*pSKFCertRef,UINT32uiStoreType);
功能描述 添加证书到证书存储区,当uiStoreType为SSF_CERT_CA_ROOT_STORE时,导入根
证书或CA中间证书到证书存储区,此时导入的根证书为本接口应用授信的根证书。
参数 pCertCtx [IN]证书上下文。
pSKFCertRef [IN]SKF证书对应信息。
uiStoreType [IN]证书存储区存储类型,为SSF_CERT_CA_ROOT_STORE或
SSF_CERT_USER_STORE
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.4 从证书存储区中删除证书
函数原型 UINT32SSFAPISSF_DelCert(constSSF_StoreContext*pStoreCertCtx);
功能描述 从证书存储区删除指定证书。
参数 pStoreCertCtx [IN]证书存储上下文。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.5 清除证书存储区中指定类型的所有证书
功能描述 清除证书存储区中指定类型的所有证书。
参数 uiStoreType [IN]证书存储区存储类型,为SSF_CERT_CA_ROOT_STORE或
SSF_CERT_USER_STORE
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.6 从证书存储区查找证书
函数原型 UINT32SSFAPISSF_FindCert(
功能描述 在证书存储区中查找证书。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.7 遍历证书存储区中的证书
功能描述 在证书存储区中遍历证书,调用该函数,可获得证书存储上下文链表,并从中最终获得证
书存储区中指定类型的所有证书。
参数 uiStoreType [IN]证书存储区存储类型,为SSF_CERT_CA_ROOT_STORE或
SSF_CERT_USER_STORE
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.8 释放证书存储上下文
功能描述 释放证书存储上下文。
参数 pStoreCertCtx [IN]证书存储上下文,即指向证书存储结构的指针。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.9 释放证书存储上下文链表
功能描述 释放证书存储上下文链表。
参数 pStoreCtxNodeHeader[IN]指向证书存储上下文链表的指针。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.10 创建CRL对象
SSF_CRL**ppCRL);
功能描述 创建CRL对象。
参数 pCRLData [IN]CRL内容,支持PEM和DER编码。
uiCRLDataLen [IN]CRL长度。
ppCRL [OUT]指向CRL对象的指针。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.11 释放CRL对象
函数原型 UINT32SSFAPISSF_FreeCRL(constSSF_CRL*pCRL);
功能描述 释放结构CRL。
参数 pCRL [IN]CRL对象。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.12 添加CRL到证书存储区
函数原型 UINT32SSFAPISSF_AddCRL(constSSF_CRL*pCRL);
功能描述 添加CRL到证书存储区。
参数 pCRL [IN]CRL对象。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.13 从证书存储区删除CRL
函数原型 UINT32SSFAPISSF_DelCRL(constSSF_CRL*pCRL);
功能描述 从证书存储区删除CRL。
参数 pCRL [IN]CRL对象。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.14 在证书存储区中查找CRL
函数原型 UINT32SSFAPISSF_FindCRL(constSSF_CRLFindAttr*pCRLFindAttr,
SSF_CRL_NODE**ppNodeHeader);
功能描述 从证书存储区查找CRL。
参数 pCRLFindAttr [IN]查找属性。
ppNodeHeader [OUT]指向CRL链表的指针。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.15 在证书存储区中遍历CRL
函数原型 UINT32SSFAPISSF_EnumCRL(SSF_CRL_NODE**ppNodeHeader);
功能描述 在证书存储区中遍历CRL,调用该函数,可获得CRL链表,并最终获得所有的CRL。
参数 ppNodeHeader [OUT]指向CRL链表的指针。
返回值 ERR_SSF_OK: 成功。
其他: 错误码。
7.2.16 释放CRL链表
函数原型 UINT32SSFAPISSF_FreeCRLLink(......
|