数字证书客户端
为了满足数字证书的使用、管理以及应用集成与开发等需求,需要提供一个数字证书管理工具(以下简称:客户端)。该客户端应该能够对数字证书及数字证书介质进行一系列操作解析及应用,包括USBKEY介质操作、证书操作和签名/验签、加密/解密等功能。同时,该客户端还应提供应用接口和相关的规范,支持具体的证书数字证书应用调用客户端的应用接口实现具体的证书应用功能。同时支持SM2证书和RSA证书。在密码算法方面,全面国产算法,比如:SM1、SM2、SM3、SMS4等。同时兼容国际算法,比如:RSA、DES/3DES、AES、SHA1/SHA256等。
1.介质管理功能
介质管理功能主要完成介质的识别、事件监控、PIN码管理、介质格式化等功能。具体说明如下:
1)介质识别
证书生命周期管理软件集成了介质厂商的硬件驱动,通过调用《智能密码钥匙应用接口》来识别介质。同时,能获取到介质的硬件信息,比如:厂商名、序列号、标签等信息。
2)事件监控
证书生命周期管理软件在运行状态,能检测到介质的事件。当介质接入电脑、或从电脑移除时,将弹出提示信息。如果是介质接入事件,还会自动获取介质内的证书列表和证书信息。
3)PIN码管理
PIN码管理主要提供“验证PIN码”、“修改PIN码”和“解锁PIN码”的操作。其中:
验证PIN码,允许的最大错误次数为15次;
修改PIN码,需要校验老PIN码;
解锁PIN码,需要校验用户身份、通过授权服务器授权之后才能完成。
4)格式化
介质格式化操作是将介质内容恢复到出厂状态,原有的数据(包括证书和密钥)将被删除。证书生命周期管理软件提供介质格式化功能,但是需要确认用户身份、并且通过授权服务器授权之后才能进行格式化操作。
2.证书管理功能
证书生命周期管理软件提供的证书管理功能,主要包括制证功能、证书解析、验证证书等。证书生命周期管理软件的制证功能,支持法人数字证书全部证书业务,比如:新领、补办、重发、变更、延期等。具体通过以下步骤实现:
生成证书请求(CSR),安装签名证书,安装加密密钥对,安装加密证书,正确性检查。
证书生命周期管理软件提供了解析法人数字证书的功能,返回证书中常用的项和属性。具体说明如下:
获取用户名称/企业名称,获取统一社会信用代码,获取组织机构代码,获取工商注册号,获取税务登记号,获取社保号,解析证书序列号,解析证书有效期(起始/截止时间),解析主题项,解析证书用途(加密/签名等),解析其他扩展项,显示证书。
验证法人数字证书的有效性时,主要通过如下几个方面来验证:
检查有效期,检查CRL、判断证书是否被吊销,验证证书的签名,验证证书链是否有效。
3.签名/验签功能
支持RSA/SM2算法 | 支持对杂凑值的签名和验签 |
支持对消息的签名和验签 | RSA签名格式支持PKCS1和PKCS7 |
支持对文件的签名和验签 | SM2签名支持《智能密码钥匙应用接口规范》中定义的签名格式 |
4.加密/解密功能
非对称加密算法支持SM2、RSA | 支持对消息加密和解密 | RSA密文格式支持PKCS1和PKCS7格式 |
对称加密算法支持SM1、SM4、SSF33、DES、3DES、AES等 | 支持对文件加密和解密 | SM2密文支持《智能密码钥匙应用接口规范》中定义的密文格式 |