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