盾卫电子认证系统详细设计说明书

更新时间:2024-06-06 14:18:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

盾卫电子认证系统详细设计说明书

目录

一、

引言................................................................................................................................... 6

1.1编写目的 ................................................................................................................................ 6 1.2背景 ........................................................................................................................................ 6 1.3预期读者和阅读建议 ............................................................................................................ 6 1.4定义 ........................................................................................................................................ 7 1.5参考资料 ................................................................................................................................ 8 2程序系统的结构 ............................................................................................................................ 9 3盾卫电子认证基础平台设计说明 ................................................................................................ 9 3.1程序描述 ................................................................................................................................ 9 3.2功能 ........................................................................................................................................ 9 3.3性能 ...................................................................................................................................... 12 3.4输人项 .................................................................................................................................. 12 3.5输出项 .................................................................................................................................. 12 3.6算法 ...................................................................................................................................... 12 3.7流程逻辑 .............................................................................................................................. 13 3.8接口 ...................................................................................................................................... 16

1

3.9存储分配 .............................................................................................................................. 26 3.10注释设计 ............................................................................................................................ 27 3.11限制条件 ............................................................................................................................ 27 3.12测试计划 ............................................................................................................................ 27 3.13尚未解决的问题 ................................................................................................................ 27 4用户认证设计说明 ...................................................................................................................... 28 4.1程序描述 .............................................................................................................................. 28 4.2功能 ...................................................................................................................................... 28 4.3性能 ...................................................................................................................................... 28 4.4输人项 .................................................................................................................................. 28 4.5输出项 .................................................................................................................................. 28 4.6算法 ...................................................................................................................................... 29 4.7流程逻辑 .............................................................................................................................. 29 4.8接口 ....................................................................................................................................... 30 4.9存储分配 .............................................................................................................................. 33 4.10注释设计 ............................................................................................................................ 33 4.11限制条件 ............................................................................................................................ 33 4.12测试计划 ............................................................................................................................ 34 4.13尚未解决的问题 ................................................................................................................ 34

2

5电子签名设计说明 ...................................................................................................................... 34 5.1程序描述 .............................................................................................................................. 34 5.2功能 ...................................................................................................................................... 34 5.3性能 ...................................................................................................................................... 35 5.4输人项 .................................................................................................................................. 35 5.5输出项 .................................................................................................................................. 35 5.6算法 ...................................................................................................................................... 35 5.7流程逻辑 .............................................................................................................................. 36 5.8接口 ...................................................................................................................................... 36 5.9存储分配 .............................................................................................................................. 37 5.10注释设计 ............................................................................................................................ 37 5.11限制条件 ............................................................................................................................ 38 5.12测试计划 ............................................................................................................................ 38 5.13尚未解决的问题 ................................................................................................................ 38 6时间戳设计说明 .......................................................................................................................... 38 6.1程序描述 .............................................................................................................................. 38 6.2功能 ...................................................................................................................................... 39 6.3性能 ...................................................................................................................................... 39 6.4输人项 .................................................................................................................................. 39 6.5输出项 .................................................................................................................................. 39

3

6.6算法 ...................................................................................................................................... 39 6.7流程逻辑 .............................................................................................................................. 40 6.8接口 ...................................................................................................................................... 40 6.9存储分配 .............................................................................................................................. 42 6.10注释设计 ............................................................................................................................ 42 6.11限制条件 ............................................................................................................................. 42 6.12测试计划 ............................................................................................................................. 42 6.13尚未解决的问题 ................................................................................................................. 43 7电子印章设计说明 ...................................................................................................................... 43 7.1程序描述 .............................................................................................................................. 43 7.2功能 ...................................................................................................................................... 43 7.3性能 ...................................................................................................................................... 43 7.4输人项 .................................................................................................................................. 44 7.5输出项 .................................................................................................................................. 44 7.6算法 ...................................................................................................................................... 44 7.7流程逻辑 .............................................................................................................................. 44 7.8接口 ...................................................................................................................................... 45 7.9存储分配 .............................................................................................................................. 45 7.10注释设计 ............................................................................................................................ 45 7.11限制条件 ............................................................................................................................ 45 7.12测试计划 ............................................................................................................................ 45

4

7.13尚未解决的问题 ................................................................................................................ 45 8痕迹取证设计说明 ...................................................................................................................... 46 8.1程序描述 .............................................................................................................................. 46 8.2功能 ...................................................................................................................................... 46 8.3性能 ...................................................................................................................................... 46 8.4输人项 .................................................................................................................................. 46 8.5输出项 .................................................................................................................................. 47 8.6算法 ...................................................................................................................................... 47 8.7流程逻辑 .............................................................................................................................. 47 8.8接口 ...................................................................................................................................... 47 8.9存储分配 .............................................................................................................................. 47 8.10注释设计 ............................................................................................................................ 47 8.11限制条件 ............................................................................................................................ 48 8.12测试计划 ............................................................................................................................ 48 8.13尚未解决的问题 ................................................................................................................ 48

5

一、 引言

编写本文档是依据卫生部的相关文件和规范标准,结合了我省卫生系统信息化

现状,以现有CA的技术架构为基础,完成卫生系统电子认证的详细设计。

本文档若存在与现行法律法规、卫生部标准有冲突或偏差时,以法律法规和卫

生部标准为准。

1.1编写目的

本文档是为明确浙江省卫生系统电子认证详细说明,符合《管理办法》和《浙江省卫生系统电子认证服务管理办法》,为加快推进浙江省卫生系统电子认证服务而编写。

我省卫生系统电子认证用户单位可以以本文档做为单位内信息系统开展电子认证做参考。具体业务解决思路需以单位信息系统现状和认证要求为准。

1.2背景

系统的名称:盾卫电子认证系统 提出者:卫生部办公厅

开发者:杭州盾全信息技术有限公司 用户:浙江省卫生医疗单位

运行该程序系统的计算中心:医院IT中心。

1.3预期读者和阅读建议

本文档的读者可能包括:

6

1、浙江省卫生厅:电子认证管理机构,建议阅读文本的我省卫生系统电子认证需诶去和系统架构;

2、省卫生厅电子认证资质审查专家组:通读;

3、浙江CA管理层:阅读本文的我省卫生系统电子认证需求和系统架构; 4、浙江CA技术人员:精读技术要求和解决方案。

1.4定义

? CA机构:又称为证书授证(Certificate Authority)中心,作为数据通讯(信息

交易)中受信任的第三方,承担公钥体系中的公钥的合法性检验的责任。我国CA机构的资质认定是由国家密码管理局(以下简称国密局)和国家工业和信息化部共同完成。

? 数字证书(digital certificate):就是网络(信息系统)通讯中标志通讯各方身

份信息的一系列数据,提供一种在Internet(CA根库)上验证您身份的方式,其作用类似于司机的驾驶执照和日常生活中的身份证。他是有Ca机构发行的。包含公开密钥拥有者信息以及公开密钥的文件。

? 数字签名(digital signature):(又称公钥数字签名、电子签章)是以电子形

式存在于数据信息之中的,或作为其附件的或逻辑上与之有联系的数据,可用于辨别数据签署人的身份,并表明签署人对数据信息中包含的信息的认可。它是使用公钥健米领域技术来实现的,一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

7

1.5参考资料

编写本文档所用到的参考文献及资料,主要包括: 《中华人名共和国电子签名法》

《中共中央国务院关于深化医药卫生体制改革的意见》 《电子认证服务管理办法》 《卫生系统电子认证服务管理办法》 《卫生系统电子认证服务规范》 《卫生系统数字证书介质技术规范》 《卫生系统数字证书应用集成规范》 《卫生系统数字证书服务管理平台接入规范》 《电子病历基本架构与数字标准(试行)》 《病历书写基本规范》

8

2程序系统的结构

盾卫电子认证系统 盾卫电子认证基础平台 证书管理 用户认证 电子签名 时间戳 电子印章 痕迹取证 数据接口

3盾卫电子认证基础平台设计说明

3.1程序描述

用户单位的证书管理:申请、发证、吊销、改密等;所有技术接口的封装。

3.2功能

(1)证书申请

9

为确保证书申请者身份的真实性和有效性,负责证书集中管理的用户单位应设立证书管理员岗位,负责提交本单位用户证书申请,具体包括: 1) 证书管理员按照约定的格式整理用户申请信息,核实用户申请信息的真实

性。

2) 证书管理员江证书申请信息报送相关领导审批确认。

3) 证书管理员通过证书服务平台想袋子认证服务机提交证书申请信息。证书

管理员须使用专用证书对所提交的证书申请信息实施电子签名。

(2)证书发放

电子认证服务机构在接收证书申请信息后,应在五个工作日内完成证书产品完成证书产品交付。

集中服务模式下的证书发放的流程如下:

1) 信息审核:电子认证服务季候审核用户提交的证书申请信息;

2) 证书制作:电子认证服务机构根据通过审核的用户证书申请信息制作证书,

并将证书产品交付用户单位的证书管理员。

3) 证书分发:用户单位的证书管理员将证书分发给最终用户。

多级服务模式下证书发放流程于集中服务模式下的证书发放流程基本相同,进增加了用户单位上级审核环节。

(3)证书更新

用户证书即将到期时,电子认证服务机构应为用户重新签发新的证书。证书更新流程如下:

1) 申请更新:电子认证服务机构应在证书到期前30天内提醒用户办理证书

更新业务,用户单位的证书管理员为本单位用户提交更换新申请。

10

2) 确认更新:电子认证服务器机构在确认更新申请后,授权并通知用户下载

新的证书。

3) 下载新证书:证书用户通过证书服务平台下载新证书。

电子认证服务机构收到更新申请后,应在二个工作日北完成更新业务的确认操作,并保证用户可实时下载新证书。

(4)证书吊销

当密钥遗失、介质损坏、证书信息变更、证书用户证件失效时,电子认证服务机构应能将证书及时吊销并更新黑名单(CRL)。

电子认证服务机构应在二个工作日内完成吊销业务的办理,并实时更新黑名单(CRL),按照发布策略将黑名单发布到制定的卫生信息系统。

(5)证书解锁

用户遗忘证书保护口令,或多次输入错误的保护口令导致证书介质锁死时,电子认证服务机构应提供证书解锁服务,为用户重新设置证书保护口令。

电子认证服务机构应在二个工作内完成解锁服务。

(6)密钥恢复

电子认证服务机构应提供加密密钥的服务。

电子认证服务机构在收到密钥恢复申请后,应在五个工作日内完成密钥恢复业务的办理。司法取证需要进行密钥恢复时,电子认证服务机构应按照国家有关规定的程序处理。

(7)证书查询

电子认证服务机构应为用户和卫生信息系统提供证书和黑名单的查询与

下载服务。电子认证服务机构应保障证书信息安全,查询和下载权限应经用户管理单位审定。

11

3.3性能

//说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。 证书的相关操作时间不得多于5秒

3.4输人项

用户证书申请的相关信息录入

3.5输出项

证书申请信息浏览 证书发放信息浏览 证书信息查询

3.6算法

//详细说明本程序所选用的算法,具体的计算公式和计算步骤。

12

3.7流程逻辑

13

14

15

3.8接口

证书信息同步接口

函数原型:public string[] CertRequestInfoSyn(CUserInfo userinfo, string strSignValue)。

功能描述:CA系统调用该接口,将证书数据同步到卫生部数字证书服务管理系统。

16

输入参数:CUserInfo:需要同步的证书数据,详见表1说明。

strSignValue:使用CA系统的服务器证书对CUserInfo域的数据组合进行的数字签名,数据原文采用XML数据标准格式,签名算法采用sha1RSA,数字签名的数据格式为BASE64编码格式。

返回值:详见表2说明。

表 1 CUserInfo证书信息表

序号 字段名 字段内容 是否为空 1. TradeType 业务类型 N VARCHAR2(128) 1:证书首次发放 2:证书更新 3:证书吊销 2. CaInfo CA身份标识 N VARCHAR2(128) CA身份标识,CA机构的营业许可证后4位数字 3. CertType 证书类型 N VARCHAR2(1) 工作人员证书:G; 内部机构证书:U; 内部设备证书:S 外部个人证书:P 外部机构证书:J 外部设备证书:W 4. UserId 用户实体唯一标识 N VARCHAR2(128) CA系统中的用户ID号,即证书实体唯一标识 字段长度 字段说明 17

5. CommonName 证书主体 N VARCHAR2(256) 用户姓名或单位名称,该内容为签发的证书主题名称 6. PaperType 证件类型 N CHAR(2) 组织机构代码:JJ 工商营业执照:GS 税务登记证:SW 身份证:SF 军官证:JG 护照:HZ 回乡证:HX 其他:QT 7. PaperID 证件号码 N VARCHAR2(64) 个人证书和工作人员证书填身份证号码、军官证、护照或其他; 机构证书和设备证书填组织机构代码、工商营业执照、税务登记证或其他。 8. ProvinceName 省份名称 N VARCHAR2(128) 省份名称必须有 9. LocalityName 城市名称 N VARCHAR2(128) 城市名称必须有 10. UnitName 单位名称 N VARCHAR2(256) 单位名称必须有 11. DepartmentName 部门名称 VARCHAR2(256) 部门名称 12. PostalAddress 邮政地址 VARCHAR2(256) 邮政地址 18

13. PostalCode 邮政编码 CHAR(6) 应为6位数字 14. AgentMan 联系人 VARCHAR2(128) VARCHAR2(64) 联系人 单位证书时,应为单位的固定电话 15. TelephoneNumber 用户电话号码 16. Fax 用户传真号码 17. E_mail 用户电子邮件 18. MobileTelephone 用户手机号码 VARCHAR2(64) 用户传真号码 VARCHAR2(128) 可选项,单位证书时,与经办人信息一致。 VARCHAR2(64) 可选项,单位证书时,与经办人信息一致。 19. EncCertData 加密证书 VARCHAR2(3072) 用户证书,BASE64编码 20. SignCertData 签名证书 VARCHAR2(3072) 用户证书,BASE64编码 21. TransName 经办人姓名 VARCHAR2(128) 单位证书时,非空 22. TransTel 经办人电话 VARCHAR2(128) 单位证书时,非空 23. TransEmail 经办人电子邮件 VARCHAR2(128) 单位证书时,非空 24. TransMobile 经办人手机号码 VARCHAR2(128) 单位证书时,非空 25. TransPertype 经办人证件类型 CHAR(2) 身份证:SF 军官证:JG 19

护照:HZ 回乡证:HX 其他:QT 26. TransPaperID 经办人证件号码 27. TradeTime CA系统提交数据时间 表 2 证书同步接口返回值说明表

序号 字段名 字段内容 1. ErrorCode 返回代码 是否为空 N 0:成功,其他值:失败(值为错误号) EC301:验证数据签名失败 EC302:检查用户录入数据完整性错误 EC303:该用户发放数据已经同步成功 EC520:保存数据出现异常 2. Time 业务系统交易时间 3. strRetSignValue 签名值 N 接收端对返回代码ErrorCode和时间Time的数据组合进行的数字签名。签名原文的数据格式是:ErrorCode +“,”+ Time VARCHAR2(64) 填身份证号码、军官证、护照或其他证件号码 N CHAR(14) CA系统提交时间,格式如:20071120133456 字段说明 N 返回给CA系统,格式如:20071120133456 黑名单信息同步接口

20

函数原型:public string[] CrlInfoSyn(CcrlInfo crlrinfo,string strSignValue) 功能描述:CA系统调用该接口,将黑名单数据同步到卫生部数据证书服务管理

系统。

输入参数:CCrlInfo:黑名单数据,具体内容见表3说明;

strSignValue:使用CA系统服务器证书对CcrlInfo域的数据进行的数字签名,

数据原文采用XML数据标准,签名算法采用sha1RSA,数字签名的数据格式为BASE64编码格式。

返回值:见表4说明。

表3 黑名单信息表

序号 1. CaName CA身份标识 字段名 字段内容 是否为空 N VARCHAR2(128) 电子认证服务机构身份标识,由卫生部数字证书服务管理系统统一分配。 2. CrlName CRL别名 N VARCHAR2(128) 针对一个CA机构下多个CA证书链,对应多个CRL文件,通过CRLName进行区分。CRLName参数可使用CRL颁发者的通用名(即CN)。 3. CrlData 本次传输的黑名单数据 4. Num 5. allNum 6. TradeTime 传输序号 传输的总次数 CA系统交易时间 N N N N VARCHAR2(最大不超过400K) VARCHAR2(4) VARCHAR2(4) CHAR(14) 黑名单(BASE64编码) 不大于allNum CA系统提交时间,格式如:20100520133456 字段长度 字段说明 21

表 4 黑名单同步接口返回值表

序号 字段名 字段内容 1. ErrorCode 错误代码 是否为空 N VARCHAR2(4) 0:成功; 其他值:失败 错误代码如下: EC301:验证数据签名失败 EC302:该黑名单已经同步成功 EC303:保存数据出现异常 EC304:超时 2. TradeEndTime 数据同步完成时间 3. strRetSignValue 返回的签名子

字段长度 字段说明 N CHAR(14) 返回给CA系统,格式为YYMMDDHHMMSSZ,如:20100520133456 N VARCHAR2 (171) 接收端对返回数据的签名值(Base64编码)。原文数据格式:ErrorCode+“,”+TradeEndTime。 查询证书信息接口

22

函数原型:public CCertInfo GetSingleCertInfo(string paperType,string paperID,

string commonName, string strSignValue)

功能描述:CA系统调用该接口,获取该证书是否存在的详细信息。 输入参数:paperType:证件类型;paperID:证件号码;

commonName:用户姓名或单位名称,该内容为签发的证书主题名称; strSignValue:使用CA系统服务器证书对三个参数的数据进行的数字签名,数据原文采用XML数据标准,签名算法采用sha1RSA,数字签名的数据格式为BASE64编码格式。

返回值:见表5说明。

表5查询证书信息接口返回值表

序字段名 号 字段内容 1. CaName 证书的颁发者 2. CommonName 证书主体 N VARCHAR2(256) 用户姓名或单位名称,该内容为签发的证书主题名称 是字段长度 否为空 N VARCHAR2(128) 颁发者(电子认证服务机构身份标识,由卫生部数字证书服务管理系统统一分配) 字段说明 23

3. PaperType 证件类型 N CHAR(2) 组织机构代码:JJ 工商营业执照:GS 税务登记证:SW 身份证:SF 军官证:JG 护照:HZ 回乡证:HX 其他:QT 4. PaperID 证件号码 N VARCHAR2(64) 个人证书和工作人员证书填身份证号码、军官证、护照或其他; 机构证书和设备证书填组织机构代码、工商营业执照、税务登记证或其他。 5. BeginDate 开始日期 N VARCHAR2(30) 证书有效期的开始日期 6. EndDate 截止日期 N VARCHAR2(30) 证书有效期的截止日期 7. CertType 证书类型 N VARCHAR2(1) 工作人员证书:G; 内部机构证书:U; 内部设备证书:S 外部个人证书:P 外部机构证书:J 外部设备证书:W 24

8. UserId 用户实体唯一标识 N VARCHAR2(128) CA系统中的用户ID号,即证书实体唯一标识 9. TradeTime CA系统提交数据时间 N CHAR(14) CA系统提交时间,格式如:20100520133456 10. CertUniuqied 证书序列号 N VARCHAR2(100) 证书序列号 11. ErrorCode 错误代码 N VARCHAR2(4) 0:没有找到该证书信息; 其他值:失败 错误代码如下: EC301:验证数据签名失败 EC302:该证书信息已经存在,且是有效证书。 EC303:查询数据出现异常 EC304:超时 25

EC305:该证书信息已经存在,且证书过期。 EC306:该证书信息已经存在,且证书被吊销。 12. TradeEndTime 查询数据完成时间 13. strRetSignValue 返回的签名值 N VARCHAR2 (171) 接收端对返回数据的签名值(Base64编码)。原文数据格式:ErrorCode+“,”+TradeEndTime。 N CHAR(14) 返回给CA系统,格式为YYMMDDHHMMSSZ,如:20100520133456 3.9存储分配

//根据需要,说明本程序的存储分配。

静态分配:程序运行前,由编译器编译的时候进行的内存分配,且到整个程序运行完才释放内存空间(对应全局变量和静态变量区)

自动分配:在程序执行的时候才对其进行分配内存,执行完代码段或函数后就释放空间(对应栈区)

26

动态分配:有需要才进行内存分配,运行完手动释放内存空间(堆区)

3.10注释设计

//说明准备在本程序中安排的注释,如: a. 加在模块首部的注释; b. 加在各分枝点处的注释;

c. 对各变量的功能、范围、缺省条件等所加的注释; d. 对使用的逻辑所加的注释等等。

3.11限制条件

用户需要熟悉电脑的基本操作,并根据相关的使用文档完成操作。

3.12测试计划

//说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。、

通过RA系统,对证书的申请、发放、更新、吊销、解锁、查询、秘钥恢复进行实例测试。根据要求输入相关的数据,分析所出现的结果。

3.13尚未解决的问题

//说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。

27

4用户认证设计说明

4.1程序描述

用户登陆时,证书的认证接口封装。

4.2功能

UsbKey密码

SSL认证

认证结果

4.3性能

认证处理时间不多于5秒

4.4输人项

UsbKey密码

4.5输出项

认证结果

28

4.6算法

//详细说明本程序所选用的算法,具体的计算公式和计算步骤。

4.7流程逻辑

证书用户开始客户端(PC)应用服务器用户插入USBKey访问应用系统首页生成随机数并保存在session中显示系统登录页面列举出USBkey内的证书将随机数返回到客户端请求页面选择证书,输入USBkey Pin码,提交“登录”提示密码错误N客户端脚本程序验证密码是否正确?(等待客户端提交登录请求)出错返回验证成功?Y根据验证策略,验证:1)CA信任列表;2)证书有效期;3)证书状态(CRL或OCSP);4)客户端对随机数签名值的有效性。使用USBKey对随机数签名,提交用户证书及签名值出错返回提示:验证证书或签名失败N验证成功?Y解析证书信息,获取证书唯一标识根据证书唯一标识查询用户库,获取相应操作权限登录失败提示:系统无此用户或用户无权限N查询成功?Y登录成功 29

4.8接口

1) 产生随机数SOF_GenRandom

原型: BSTR SOF_GenRandom(short len); 描述: 产生随机数

参数: int RanddomLen[in]

待产生的随机数长度(bytes,字节长度)

返回值: BSTR rv

2) 加密数据SOF_EncryptData

原型: BSTR SOF_EncryptData(BSTR SymmKey, BSTR Indata) ; 描述: 使用对称算法加密数据 参数: BSTR sKey[in]

BSTR sIndata[in]

返回值: BSTR rv

空值

3) 解密数据SOF_DecryptData

原型: BSTR SOF_DecryptData(BSTR SymmKey, BSTR Indata) ; 描述: 使用对称算法解密数据 参数: BSTR SymmKey[in]

BSTR sIndata[in]

返回值: BSTR rv

空值

加密密钥 待加密的明文 加密后的密文 失败

随机数值(Base64编码后的)

30

4) 公钥加密SOF_PubKeyEncrypt

原型: BSTR SOF_PubKeyEncrypt(BSTR Cert, BSTR InData) ; 描述: 使用证书对数据加密。(PKCS#1格式) 参数: BSTR Cert[in]

BSTR InData[in]

返回值: BSTR rv

空值

证书 待加密的数据 成功加密后的密文 失败

备注: 因为是PKCS#1格式,故加密的数据长度要小于证书的位数。比如1024

位的证书,InData长度必须小于128

5) 私钥解密SOF_PriKeyDecrypt

原型: BSTR SOF_PriKeyDecrypt(BSTR CertID, BSTR InData) ; 描述: 私钥解密(PKCS#1格式) 参数: BSTR CertID[in]

BSTR InData[in]

返回值: BSTR rv

空值

6) 获得证书列表SOF_GetUserList

原型: BSTR SOF_GetUserList(); 描述: 取得当前已安装证书的用户列表 参数: 无

返回值: BSTR ret 用户列表字符串

数据格式:(用户1||标识1&&&用户2||标识2&&&…)

7) 校验证书口令 SOF_Login

证书ID 待解密的数据 成功解密后的明文 失败

31

原型: BOOL SOF_Login(BSTR CertID, BSTR PassWd,short nRetryCount) 描述: 校验证书口令 参数: BSTR CertID [in]

BSTR PassWd [in] Short RetryCount[out]

返回值: 成功 TRUE,失败 FALSE 8) 导出用户签名证书SOF_ExportUserCert

原型: BSTR SOF_ExportUserCert(BSTR CertID);

描述: 根据证书实体唯一标识,获取Base64编码的证书字符串。 参数: BSTR CertID [in] 返回值: BSTR rv

输入参数,证书实体唯一标识 证书字符串 失败空值

输入参数,证书实体唯一标识 输入参数,口令 剩余口令重试次数

备注: 如果是双证书,导出的是签名证书。

9) 验证签名SOF_VerifySignedData

原型: BOOL SOF_VerifySignedData(BSTR Cert, BSTR InData, short

InDataLen, BSTR SignValue) ;

描述: 验证数字签名 参数: BSTR sCert[in]

BSTR sInData[in] Short InDataLen[in] BSTR sSignValue[in]

返回值: TRUE

FALSE

10) 获得证书扩展信息SOF_GetCertInfoByOid

32

签名者证书,BASE64编码 签名原文 签名原文长度 签名值,BASE64编码 成功 失败

原型: BSTR SOF_GetCertInfoByOid(BSTR Base64EncodeCert, BSTR oid); 描述: 根据OID获取证书私有扩展项信息 参数: BSTR Base64EncodeCert

BSTR oid

返回值: BSTR ret

空值 备注: 错误代码:

SOR_NULLPOINTER:某一个参数为空指针。 SOR_CERTENCODE:证书编码格式错误。

Base64编码的证书

私有扩展对象ID,如“1.2.156.xxx” 证书OID对应的值 出错

4.9存储分配

//根据需要,说明本程序的存储分配。

4.10注释设计

//说明准备在本程序中安排的注释,如: a) 加在模块首部的注释; b) 加在各分枝点处的注释;

c) 对各变量的功能、范围、缺省条件等所加的注释; d) 对使用的逻辑所加的注释等等。

4.11限制条件

33

4.12测试计划

//说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。

在医院内网、电脑安装了相关软件的环境下,插入测试UsbKey,进行CA登录测试。

4.13尚未解决的问题

//说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。

5电子签名设计说明

5.1程序描述

应用系统中存储,信息加密电子签名的接口封装。

5.2功能

数据 签名 签名数据

34

5.3性能

数据签名时间不多于1秒

5.4输人项

交易数据

5.5输出项

签名后数据

5.6算法

//细说明本程序所选用的算法,具体的计算公式和计算步骤。

35

5.7流程逻辑

证书用户开始客户端(PC)应用服务器用户插入USBKey登录系统展示业务表单展示业务表单填写业务数据;提交业务申请客户端程序对交易数据进行签名;提交交易原文和签名值获取业务原文和签名值,验证签名值是否正确?交易失败提示:验证签名失败。N验证成功?Y保持业务数据和签名值,进行后续业务处理交易成功 5.8接口

1) 获得证书列表SOF_GetUserList

原型: BSTR SOF_GetUserList(); 描述: 取得当前已安装证书的用户列表 参数: 无

返回值: BSTR ret 用户列表字符串

数据格式:(用户1||标识1&&&用户2||标识2&&&…)

备注: 根据证书应用的策略不同会得到不同的证书列表

2) 校验证书口令 SOF_Login

36

原型: BOOL SOF_Login(BSTR CertID, BSTR PassWd,short nRetryCount) 描述: 校验证书口令 参数: BSTR CertID [in]

BSTR PassWd [in] Short RetryCount[out]

返回值: 成功 TRUE,失败 FALSE 3) 数据签名SOF_SignData

原型: BSTR SOF_SignData(BSTR CertID, BSTR InData,short InDataLen) ; 描述: 对字符串数据进行数字签名,签名格式为PKCS#1 参数: BSTR sCertID[in]

BSTR sInData[in]

Short InDataLen[in]

返回值: BSTR ret

空值

证书标识 签名原文 签名原文长度 签名结果 失败

输入参数,证书实体唯一标识 输入参数,口令 剩余口令重试次数

5.9存储分配

//根据需要,说明本程序的存储分配。

5.10注释设计

说明准备在本程序中安排的注释,如: a) 加在模块首部的注释; b) 加在各分枝点处的注释;

c) 对各变量的功能、范围、缺省条件等所加的注释;

37

d) 对使用的逻辑所加的注释等等。

5.11限制条件

//说明本程序运行中所受到的限制条件。

5.12测试计划

//说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。

分别在医嘱、过敏史、文书、诊断等需要对交易数据进行签名操作的过程,进行签名测试。

5.13尚未解决的问题

//说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。

6时间戳设计说明

6.1程序描述

基于可靠的标准时间源设备,确保电子文件产生时间的准确和可信,时间戳接口封装。

38

6.2功能

信息摘要

签名 数字时间戳

6.3性能

可信时间戳处理时间不多于1秒

6.4输人项

信息摘要

通过接口从时间设备取得的可信时间。

6.5输出项

数字时间戳

6.6算法

//详细说明本程序所选用的算法,具体的计算公式和计算步骤。

39

6.7流程逻辑

6.8接口

1) 创建时间戳请求SOF_CreateTimeStampRequest

原型: BSTR SOF_CreateTimeStampRequest(BSTR InData); 描述: 创建时间戳请求 参数: BSTR InData 返回值: BSTR ret

空值

备注: 错误代码:

SOR_NULLPOINTER: 输入的某一个参数为null

2) 创建时间戳响应SOF_CreateTimeStampResponse

原型: BSTR SOF_CreateTimeStampRequest (BSTR InData); 描述: 创建时间戳响应,即签发时间戳 参数: BSTR InData

时间戳请求

待创建时间戳请求的原文 时间戳请求(base64编码格式) 失败

40

本文来源:https://www.bwwdw.com/article/w0f6.html

Top