2卫生系统数字证书应用集成规范Word文档下载推荐.docx
- 文档编号:16799345
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:71
- 大小:385.99KB
2卫生系统数字证书应用集成规范Word文档下载推荐.docx
《2卫生系统数字证书应用集成规范Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《2卫生系统数字证书应用集成规范Word文档下载推荐.docx(71页珍藏版)》请在冰豆网上搜索。
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
原型:
intSOF_GetVersion()
描述:
获取接口的版本号
参数:
版本号
返回值:
成功
非0
失败,返回错误代码
备注:
版本号的格式为:
0xAAAABBBB,其中AAAA为主版本号,BBBB为次版本号。
2)设置签名算法SOF_SetSignMethod
VoidSOF_SetSignMethod(intSignMethod);
设置控件签名使用的签名算法;
使用非对称加密算法时,也是通过这个函数来设置
SignMethod[in]
签名算法标识,见表5“算法代码表”。
无
3)获得当前签名算法SOF_GetSignMethod
BSTRSOF_GetSignMethod();
获得控件签名使用的签名算法
当前的签名算法,见代码表宏定义
4)设置加密算法SOF_SetEncryptMethod
VoidSOF_SetEncryptMethod(intEncryptMethod);
设置控件使用的对称加解密算法。
EncryptMethod[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
证书字符串
空
失败空值
如果是双证书,导出的是签名证书。
intSOF_Login(BSTRCertID,BSTRPassWd)
校验证书口令
BSTRPassWd[in]
输入参数,口令
成功返回0,失败返回剩余次数,锁死返回-1
BOOLSOF_ChangePassWd(BSTRCertID,BSTROldPassWd,BSTRNewPassWd)
修改证书口令
BSTROldPassWd[in]
输入参数,旧口令
BSTRNewPassWd[in]
输入参数,新口令
成功TRUE,失败FALSE
10)导出用户加密证书SOF_ExportExChangeUserCert
BSTRSOF_ExportExChangeUserCert(BSTRCertID);
指定获取加密(交换)证书
BSTRCertID[in]
证书实体唯一标识
获取Base64编码的证书字符串
空值
失败
11)获得证书信息SOF_GetCertInfo
BSTRSOF_GetCertInfo(BSTRCert,shortType);
获取证书信息
BSTRsCert[in]
Base64编码的证书
shortType[in]
获取信息的类型,TYPE参数见表3“证书信息解析代码表”。
BSTRret
证书信息
BSTRSOF_GetCertInfoByOid(BSTRCert,BSTROid);
根据OID获取证书私有扩展项信息
BSTRoid[in]
私有扩展对象ID,比如“1.2.156.xxx”
BSTRret
证书OID对应的值
BSTRSOF_GetUserInfo(BSTRCertId,shorttype);
获得用户信息
BSTRCertid[in]
证书标识
type[in]
信息类别,参数和意义见表4“证书对应信息表”。
type对应的值
14)验证证书有效性SOF_ValidateCert
BOOLSOF_ValidateCert(BSTRCert);
验证证书有效性
TRUE
FALSE
15)数据签名SOF_SignData
BSTRSOF_SignData(BSTRCertID,BSTRInData);
对字符串数据进行数字签名,签名格式为PKCS#1
BSTRsCertID[in]
BSTRsInData[in]
签名原文
签名结果,BASE64编码
16)验证签名SOF_VerifySignedData
BOOLSOF_VerifySignedData(BSTRCert,BSTRInData,BSTRsSignValue);
验证数字签名
签名者证书,BASE64编码
BSTRsSignValue[in]
签名值,BASE64编码
17)文件签名SOF_SignFile
BSTRSOF_SignFile(BSTRCertID,BSTRInFile);
对文件数字签名
BSTRsInFile[in]
签名原文文件路径
签名结果
18)验证文件签名SOF_VerifySignedFile
BOOLSOF_VerifySignedFile(BSTRCert,BSTRInFile,BSTRSignValue);
验证文件数字签名
签名者证书
签名值
19)加密数据SOF_EncryptData
BSTRSOF_EncryptData(BSTRSymmKey,BSTRIndata);
使用对称算法加密数据
BSTRsKey[in]
加密密钥
BSTRsIndata[in]
待加密的明文
加密后的密文
20)解密数据SOF_DecryptData
BSTRSOF_DecryptData(BSTRSymmKey,BSTRIndata);
使用对称算法解密数据
BSTRSymmKey[in]
解密密钥
待解密的密文
解密后的明文
21)文件加密SOF_EncryptFile
BOOLSOF_EncryptFile(BSTRSymmKey,BSTRInFile,BSTROutFile);
使用对称算法加密文件
BSTRInFile[in]
待加密的明文文件路径
BSTROutFile[in]
密文文件保存路径
22)文件解密SOF_DecryptFile
BOOLSOF_DecryptFile(BSTRSymmKey,BSTRInFile,BSTROutFile);
使用对称算法解密文件
待解密的密文文件路径
明文文件保存路径
23)公钥加密SOF_PubKeyEncrypt
BSTRSOF_PubKeyEncrypt(BSTRCert,BSTRInData);
使用证书对数据加密。
(PKCS#1格式)
BSTRCert[in]
证书
BSTRInData[in]
待加密的数据
成功加密后的密文
因为是PKCS#1格式,故加密的数据长度要小于证书的位数。
比如1024位的证书,InData长度必须小于128
24)私钥解密SOF_PriKeyDecrypt
BSTRSOF_PriKeyDecrypt(BSTRCertID,BSTRInData);
私钥解密(PKCS#1格式)
证书ID
待解密的数据
成功解密后的明文
25)PKCS#7数据签名SOF_SignDataByP7
BSTRSOF_SignDataByP7(BSTRCertID,BSTRInData)
对字符串数据进行数字签名,签名格式为PKCS#7
PKCS#7签名结果包含原文+签名者证书+签名值。
BOOLSOF_Veri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卫生系统 数字证书 应用 集成 规范