EAS集成第三方CA的开发指导

1.背景介绍
EAS产品目前标准只集成天威诚信数字证书认证,由于多家客户要求使用CFCA厂商的数字证书认证,本文档用来指导开发集成CFCA的思路及其原理,其它厂商同理。
1.1 EAS签名验签流程

2.实现思路
EAS标准产品CA认证以天威为原型抽象了USB相关证书操作的接口,屏蔽了厂商的底层操作方法,因此大部分功能可以仿照天威的实现类来实现其它厂商的底层操作细节,存在部分不一样的操作方式可以单独进行二开实现。
3.实现方案
3.1EAS客户端实现
1.新增类CfcaPKIClientProvider实现接口com.kingdee.eas.base.security.provider.client.IPKIClientExt2Provider用来支持EAS客户端和本地的USB进行交互操作,涉及到的功能有证书导出、初始化、签名等动作,接口详细说明如下:
1. 判断usbkey是否存在:boolean isUsbKeyExistent()
2. 检查密码是否正确:boolean checkPasswd(byte[] password)
3. 获取存放在USBKey中的用户证书:byte[] exportCertificate()
4. 获取USB Key中的序列号:String GetKeyID()
5. 获取存放在USBKey中的用户标识:byte[] getUserID()
6. USBKey是否登录状态:boolean isKeyLogin()
8. 数据签名:byte[] sign(byte[] plaintext)
9. 使用用户的证书对签名进行验证:int verify(byte[] plaintext, byte[] signature)
10. 批量签名接口(标记接口,表示当前签名在批量处理中,无需要用户每条数据都需要输入密码):byte[] batchSign()
2. 新建一个CfcaMWkeyImpl的类,这个类主要是用在GUI端登录时使用的。它继承了AbstractUsbKeyBaseOperator这个抽象类,主要重写了readFile(int fileName)、getNo()、verifyPwd(String newPwd)、exportCertificate()等方法,逻辑和CfcaPKIClientProvider大致相同。
3.2 EAS服务器端实现
服务器新增实现类CfcaServerProvider继AbstractBOSObject父类并实现com.kingdee.eas.base.security.provider.IPKIServerExtProvider接口,用来做证书合法性校验与签名合法性校验等功能。
1. 根据用户标识获取存放在CA服务器中的指
EAS集成第三方CA的开发指导
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



