2卫生系统数字证书应用集成标准.docx
- 文档编号:17249323
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:69
- 大小:311.66KB
2卫生系统数字证书应用集成标准.docx
《2卫生系统数字证书应用集成标准.docx》由会员分享,可在线阅读,更多相关《2卫生系统数字证书应用集成标准.docx(69页珍藏版)》请在冰点文库上搜索。
2卫生系统数字证书应用集成标准
卫生部办公厅
2010年4月30日
卫生系统电子认证服务体系系列规范
-卫生系统数字证书应用集成规范(试行)
11 范围
本标准依据《卫生系统电子认证效劳治理方法(试行)》,参照国家密码治理局“公钥密码基础设施应用技术体系”系列技术标准,结合卫生系统业务特点,提出卫生系统数字证书应用集成目标、集成要求、集成内容,概念统一的证书应用接口,并提供证书应用接口的典型部署例如、登录认证流程例如和签名验证流程例如。
本标准用于指导并标准卫生信息系统证书应用集成实施工作,指导电子认证效劳机构开发标准统一的证书应用接口,标准卫生信息系统实现基于数字证书的平安登录、数字签名和加密解密等平安功能。
12 应用集成目标
1)在目前卫生信息系统普遍利用的用户名/口令认证方式基础上,引入数字证书技术,成立基于数字证书的身份认证机制,确保系统访问操纵的高平安性和高靠得住性;
2)对卫生信息系统的重要操作环节和重要数据实现基于数字证书的数字签名功能,爱惜数据的完整性,并为后期纠纷处置及责任认定提供合法电子证据;
3)对卫生信息系统的灵敏信息实现基于数字证书的数据加密功能,确保灵敏信息在传输和存储时期的平安性。
13 应用集成要求
在证书应用集成时,应依照卫生系统各应用单位的业务特点和业务需求,确信需要改造的业务系统数量及名称、确信需要利用证书认证的用户及范围、确信需要加密签名的重要操作环节和数据,具体集成要求如下:
1)卫生信息系统在集成数字证书的平安功能时,第一应实现基于数字证书的身份认证功能;
2)关于具有操作行为责任认定、证据保留需求的卫生信息系统,应实现基于数字证书的数字签名的功能;
3)关于具有数据加密和解密需求的卫生信息系统,应实现基于数字证书的信息加密、信息解密功能;
4)关于具有可信时刻需求的卫生信息系统,应集成时刻戳功能;
5)关于具有信息共享需求的多个应用系统,可采纳统一的身份认证模式,实现统一的身份认证治理、用户信息共享和单点登录等功能。
14 应用集成内容
卫生信息系统证书应用集成内容如下:
1)基于数字证书的身份认证
证书登录认证进程中,应完成以下平安认证工作:
a)证书爱惜口令校验;
b)每次登录认证是基于随机数的签名和验证,避免重放解决;
c)验证用户证书的信任链;
d)验证用户证书有效期;
e)基于最新的黑名单文件,验证用户证书是不是被撤消;
f)验证证书信息是不是在信息系统具有对应的用户账户及操作权限。
在证书应用集成时,同时应实现用户安装和利用的方便性,如证书介质的即插即用功能。
2)数字签名和验证
卫生信息系统中关键业务数据和操作的数字签名,应知足《电子签名法》和其他相关政策法规规定的书面形式、原件形式及文件保留等要求,至少应包括数据原文、电子签名、可信时刻等内容,并可在需要时查询、阅读、下载、验证,具有作为电子证据的真实性、靠得住性和可验证性。
数字签名能够和图章结合起来应用,实现电子签章功能,从而实现电子签名的可视化治理,方便用户查看、审阅和验证。
3)数据加密和解密
数据加密时应采纳对称算法和非对称算法相结合的方式,既保障加密机制的平安性、密钥分发的方便性,同时又提高了加解密操作的效率。
依照业务需求,可利用单个数字证书加密,也可利用多个数字证书对数据一起加密,形成密文数据。
密文数据应平安存储在数据库或磁盘上,待解密时刻达到后方可解密。
数据解密时,须利用数字证书对应的密码设备或证书介质解密。
若是证书介质损坏或丢失,电子认证效劳机构应在平安可控的前提下,为用户及时提供密钥恢复效劳。
4)时刻戳应用
电子认证效劳机构提供的时刻戳效劳应基于靠得住的标准时刻源,确保时刻的准确和可信。
5)密码设备应用
卫生信息系统在利用数字证书平安功能时,应基于密码设备提供的密码效劳。
密码设备包括客户端用户利用的证书介质和效劳器端利用的密码设备。
客户端证书介质是指具有密码许可资质的USBKey、智能IC卡等PC终端上的密码设备,和符合国家密码政策治理规定的SIM卡、SD卡等电话终端上的密码设备。
证书介质应用接口应支持所有主流操作系统,并符合《智能IC卡及智能密码钥匙密码应用接口标准》。
效劳器端密码设备是指具有密码许可资质的加密机、加密卡等,应支持所有主流操作系统,并符合《公钥密码基础设施应用技术体系密码设备应用接口标准》。
通用密码效劳接口挪用证书介质应用接口或密码设备应用接口,实现对底层密码设备和证书介质的挪用,应支持所有主流操作系统,并符合《公钥密码基础设施应用技术体系通用密码效劳接口标准》。
15 统一证书应用接口标准
15.1 统一证书应用接口概述
统一证书应用接口位于应用系统和密码设备之间,包括:
证书介质应用接口、密码设备应用接口、通用密码效劳接口和证书应用综合效劳接口。
15.2 证书应用综合效劳接口概述
证书应用综合效劳接口是供给用系统直接挪用的高级证书应用接口,一样情形下分成客户端接口和效劳器端接口两个模块。
客户端接口是供给用系统客户端程序直接挪用的高级接口,应支持所有主流操作系统。
客户端接口应支持符合《卫生系统数字证书格式标准》的数字证书,支持利用符合《卫生系统数字证书介质技术标准》的证书介质。
客户端接口可包括DLL动态库、ActiveX控件、Applet插件等多种产品形态,支持B/S和C/S等架构的应用系统。
客户端接口包括以下要紧函数:
1)获取接口的版本信息SOF_GetVersion
2)设置签名算法SOF_SetSignMethod
3)获适当前签名算法SOF_GetSignMethod
4)设置加密算法SOF_SetEncryptMethod
5)取得加密算法SOF_GetEncryptMethod
6)取得证书列表SOF_GetUserList
7)导出用户签名证书SOF_ExportUserCert
8)校验证书口令SOF_Login
9)修改证书口令SOF_ChangePassWd
10)导出用户加密证书SOF_ExportExChangeUserCert
11)取得证书信息SOF_GetCertInfo
12)取得证书扩展信息SOF_GetCertInfoByOid
13)取得用户信息SOF_GetUserInfo
14)验证证书有效性SOF_ValidateCert
15)数据签名SOF_SignData
16)验证签名SOF_VerifySignedData
17)文件签名SOF_SignFile
18)验证文件签名SOF_VerifySignedFile
19)加密数据SOF_EncryptData
20)解密数据SOF_DecryptData
21)文件加密SOF_EncryptFile
22)文件解密SOF_DecryptFile
23)公钥加密SOF_PubKeyEncrypt
24)私钥解密SOF_PriKeyDecrypt
25)PKCS#7数据签名SOF_SignDataByP7
26)验证PKCS#7数据签名SOF_VerifySignedDataByP7
27)解析PKCS#7签名包信息SOF_GetP7SignDataInfo
28)XML数据签名SOF_SignDataXML
29)验证XML数据签名SOF_VerifySignedDataXML
30)解析XML签名数据SOF_GetXMLSignatureInfo
31)检查控件支持SOF_CheckSupport
32)产生随机数SOF_GenRandom
效劳器端接口是供给用系统效劳器端程序直接挪用的高级接口,应支持所有主流操作系统,支持B/S和C/S等系统架构,支持符合《卫生系统数字证书格式标准》的数字证书,可通过添加证书信任列表的方式实现不同电子认证效劳机构证书之间的交叉认证和互信互认。
效劳器端接口可包括COM组件、JAVA组件等多种形态。
效劳器端接口应提供以下函数:
1)初始化环境SOF_GetInstance(JAVA组件专用)
2)设置证书信任列表SOF_SetCertTrustList
3)查询证书信任列表别名SOF_QueryCertTrustListAltNames
4)查询证书信任列表SOF_QueryCertTrustList
5)删除证书信任列表SOF_DelCertTrustList
6)设置Web应用名称SOF_SetWebAppName(COM组件专用)
7)设置签名算法SOF_SetSignMethod
8)获适当前签名算法SOF_GetSignMethod
9)设置加密算法SOF_SetEncryptMethod
10)取得加密算法SOF_GetEncryptMethod
11)取得效劳器证书SOF_GetServerCertificate
12)产生随机数SOF_GenRandom
13)取得证书信息SOF_GetCertInfo
14)取得证书扩展信息SOF_GetCertInfoByOid
15)验证证书有效性SOF_ValidateCert
16)数据签名SOF_SignData
17)验证签名SOF_VerifySignedData
18)文件签名SOF_SignFile
19)验证文件签名SOF_VerifySignedFile
20)对称算法加密数据SOF_EncryptData
21)解密对称算法加密数据SOF_DecryptData
22)文件加密SOF_EncryptFile
23)文件解密SOF_DecryptFile
24)公钥加密SOF_PubKeyEncrypt
25)私钥解密SOF_PriKeyDecrypt
26)PKCS#7数据签名SOF_SignDataByPkcs7
27)验证PKCS#7数据签名SOF_VerifySignedDataByPkcs7
28)解析PKCS#7签名包信息SOF_GetP7SignDataInfo
29)XML数据签名SOF_SignDataXML
30)验证XML数据签名SOF_VerifySignedDataXML
31)解析XML签名数据SOF_GetXMLSignatureInfo
32)创建时刻戳请求SOF_CreateTimeStampRequest
33)创建时刻戳响应SOF_CreateTimeStampResponse
34)验证时刻戳SOF_VerifyTimeStamp
35)解析时刻戳SOF_GetTimeStampInfo
36)取得错误码SOF_GetLastError(COM组件专用)
15.3 证书应用综合效劳接口客户端接口函数概念
1)获取接口版本信息SOF_GetVersion
原型:
intSAF_GetVersion(unsignedint*puiVersion)
描述:
获取接口的版本号
参数:
puiVersion[out]
版本号
返回值:
0
成功
非0
失败,返回错误代码
备注:
版本号的格式为:
0xAAAABBBB,其中AAAA为主版本号,BBBB为次版本号。
2)设置签名算法SOF_SetSignMethod
原型:
VoidSOF_SetSignMethod(intSignMethod);
描述:
设置控件签名使用的签名算法。
参数:
SignMethod[in]
签名算法标识,见表5“算法代码表”。
返回值:
无
3)获适当前签名算法SOF_GetSignMethod
原型:
BSTRSOF_GetSignMethod();
描述:
获得控件签名使用的签名算法
参数:
无
返回值:
当前的签名算法
4)设置加密算法SOF_SetEncryptMethod
原型:
VoidSOF_SetEncryptMethod(intEncryptMethod);
描述:
设置控件使用的对称加解密算法。
参数:
SetEncryptMethod[IN]
对称加解密算法见表5“算法代码表”。
返回值:
无
5)取得加密算法SOF_GetEncryptMethod
原型:
BSTRSOF_GetEncryptMethod();
描述:
获得控件使用的对称加解密算法
参数:
无
返回值:
当前控件使用的加密算法
6)取得证书列表SOF_GetUserList
原型:
BSTRSOF_GetUserList();
描述:
取得当前已安装证书的用户列表
参数:
无
返回值:
BSTRret用户列表字符串
数据格式:
(用户1||标识1&&&用户2||标识2&&&…)
备注:
根据证书应用的策略不同会得到不同的证书列表
7)导出用户签名证书SOF_ExportUserCert
原型:
BSTRSOF_ExportUserCert(BSTRCertID);
描述:
根据证书实体唯一标识,获取Base64编码的证书字符串。
参数:
BSTRCertID[in]
输入参数,证书实体唯一标识
返回值:
BSTRrv
证书字符串
空
失败空值
备注:
如果是双证书,导出的是签名证书。
8)校验证书口令SOF_Login
原型:
BOOLSOF_Login(BSTRCertID,BSTRPassWd,shortnRetryCount)
描述:
校验证书口令
参数:
BSTRCertID[in]
输入参数,证书实体唯一标识
BSTRPassWd[in]
ShortRetryCount[out]
输入参数,口令
剩余口令重试次数
返回值:
成功TRUE,失败FALSE
9)修改证书口令SOF_ChangePassWd
原型:
BOOLSOF_ChangePassWd(BSTRCertID,BSTROldPassWd,BSTRNewPassWd)
描述:
修改证书口令
参数:
BSTRCertID[in]
输入参数,证书实体唯一标识
BSTROldPassWd[in]
输入参数,旧口令
BSTRNewPassWd[in]
输入参数,新口令
返回值:
成功TRUE,失败FALSE
10)导出用户加密证书SOF_ExportExChangeUserCert
原型:
BSTRSOF_ExportExChangeUserCert(BSTRCertID);
描述:
根据证书实体唯一标识,获取Base64编码的证书字符串。
指定获取加密(交换)证书
参数:
BSTRCertID[in]
证书实体唯一标识
返回值:
BSTRrv
获取Base64编码的证书字符串
空值
失败
11)取得证书信息SOF_GetCertInfo
原型:
BSTRSOF_GetCertInfo(BSTRCert,shortType);
描述:
获取证书信息
参数:
BSTRsCert[in]
Base64编码的证书
shortType[in]
获取信息的类型,TYPE参数见表3“证书信息解析代码表”。
返回值:
BSTRret
证书信息
空值
失败
12)取得证书扩展信息SOF_GetCertInfoByOid
原型:
BSTRSOF_GetCertInfoByOid(BSTRCert,BSTROid);
描述:
根据OID获取证书私有扩展项信息
参数:
BSTRsCert[in]
Base64编码的证书
BSTRoid[in]
私有扩展对象ID,比如“
返回值:
BSTRret
证书OID对应的值
空值
失败
13)取得用户信息SOF_GetUserInfo
原型:
BSTRSOF_GetUserInfo(BSTRCertId,shorttype);
描述:
获得用户信息
参数:
BSTRCertid[in]
证书标识
type[in]
信息类别,参数和意义见表4“证书对应信息表”。
返回值:
BSTRret
type对应的值
空值
失败
14)验证证书有效性SOF_ValidateCert
原型:
BOOLSOF_ValidateCert(BSTRCert);
描述:
验证证书有效性
参数:
BSTRsCert[in]
Base64编码的证书
返回值:
TRUE
成功
FALSE
失败
空值
失败
15)数据签名SOF_SignData
原型:
BSTRSOF_SignData(BSTRCertID,BSTRInData,shortInDataLen);
描述:
对字符串数据进行数字签名,签名格式为PKCS#1
参数:
BSTRsCertID[in]
证书标识
BSTRsInData[in]
ShortInDataLen[in]
签名原文
签名原文长度
返回值:
BSTRret
签名结果
空值
失败
16)验证签名SOF_VerifySignedData
原型:
BOOLSOF_VerifySignedData(BSTRCert,BSTRInData,shortInDataLen,BSTRSignValue);
描述:
验证数字签名
参数:
BSTRsCert[in]
签名者证书,BASE64编码
BSTRsInData[in]
签名原文
ShortInDataLen[in]
签名原文长度
BSTRsSignValue[in]
签名值,BASE64编码
返回值:
TRUE
成功
FALSE
失败
17)文件签名SOF_SignFile
原型:
BSTRSOF_SignFile(BSTRCertID,BSTRInFile);
描述:
对文件数字签名
参数:
BSTRsCertID[in]
证书标识
BSTRsInFile[in]
签名原文文件路径
返回值:
BSTRret
签名结果
空值
失败
18)验证文件签名SOF_VerifySignedFile
原型:
BOOLSOF_VerifySignedFile(BSTRCert,BSTRInFile,BSTRSignValue);
描述:
验证文件数字签名
参数:
BSTRsCert[in]
签名者证书
BSTRsInFile[in]
签名原文文件路径
BSTRsSignValue[in]
签名值
返回值:
TRUE
成功
FALSE
失败
19)加密数据SOF_EncryptData
原型:
BSTRSOF_EncryptData(BSTRSymmKey,BSTRIndata);
描述:
使用对称算法加密数据
参数:
BSTRsKey[in]
加密密钥
BSTRsIndata[in]
待加密的明文
返回值:
BSTRrv
加密后的密文
空值
失败
20)解密数据SOF_DecryptData
原型:
BSTRSOF_DecryptData(BSTRSymmKey,BSTRIndata);
描述:
使用对称算法解密数据
参数:
BSTRSymmKey[in]
解密密钥
BSTRsIndata[in]
待解密的密文
返回值:
BSTRrv
解密后的明文
空值
失败
21)文件加密SOF_EncryptFile
原型:
BOOLSOF_EncryptFile(BSTRSymmKey,BSTRInFile,BSTROutFile);
描述:
使用对称算法加密文件
参数:
BSTRSymmKey[in]
加密密钥
BSTRInFile[in]
待加密的明文文件路径
BSTROutFile[in]
密文文件保存路径
返回值:
TRUE
成功
FALSE
失败
22)文件解密SOF_DecryptFile
原型:
BOOLSOF_DecryptFile(BSTRSymmKey,BSTRInFile,BSTROutFile);
描述:
使用对称算法解密文件
参数:
BSTRSymmKey[in]
解密密钥
BSTRInFile[in]
待解密的密文文件路径
BSTROutFile[in]
明文文件保存路径
返回值:
TRUE
成功
FALSE
失败
23)公钥加密SOF_PubKeyEncrypt
原型:
BSTRSOF_PubKeyEncrypt(BSTRCert,BSTRInData);
描述:
使用证书对数据加密。
(PKCS#1格式)
参数:
BSTRCert[in]
证书
BSTRInData[in]
待加密的数据
返回值:
BSTRrv
成功加密后的密文
空值
失败
备注:
因为是PKCS#1格式,故加密的数据长度要小于证书的位数。
比如1024位的证书,InData长度必须小于128
24)私钥解密SOF_PriKeyDecrypt
原型:
BSTRSOF_PriKeyDecrypt(BSTRCertID,BSTRInData);
描述:
私钥解密(PKCS#1格式)
参数:
BSTRCertID[in]
证书ID
BSTRInData[in]
待解密的数据
返回值:
BSTRrv
成功解密后的明文
空值
失败
25)PKCS#7数据签名SOF_SignDataByP7
原型:
BSTRSOF_SignDataByP7(BSTRCertID,BSTRInData)
描述:
对字符串数据进行数字签名,签名格式为PKCS#7
参数:
BSTRsCertID[in]
证书标识
BSTRsInData[in]
签名原文
返回值:
BSTRret
签名结果
空值
失败
备注:
PKCS#7签名结果包含原文+签名者证书+签名值。
26)验证PKCS#7数据签名SOF_VerifySignedDataByP7
原型:
BOOLSOF_VerifySignedDataByP7(BSTRP7Data);
描述:
验证数字签名
参数:
BSTRP7Data[in]
PKCS#7签名包
返回值:
TRUE
成功
FALSE
失败
27)解析PKCS#7签名包信息SOF_GetP7SignDataInfo
原型:
BSTRSOF_GetP7SignDataInfo(BSTRP7Data,shorttype);
描述:
解析PKCS#7签名包的信息,可获得原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卫生系统 数字证书 应用 集成 标准
![提示](https://static.bingdoc.com/images/bang_tan.gif)