2、eas登录administrator-智能钥匙认证-选择该用户-禁用钥匙-回收-初始化key-启用钥匙即可
如果依然有问题,那很可能是证书缓存未更新的bug导致,重启EAS服务器可变通解决,如果不愿意可提单跟进,有私包处理,补丁暂未发布。
文本简要介绍了非对称加密算法中的公钥和私钥在数据加密解密、数据签名验签中的应用,以及天威诚信的CA认证在EAS系统中的配置和流程。包括使用ukey进行签名和验签的详细过程,以及遇到用户证书过期导致验签不通过问题的解决方法。
首先了解下保证客户端与服务端数据交互安全的两个概念,这里我们以非对称加密算法举例:
公钥和私钥是一套非对称秘钥,公钥是公开的,私钥是保密的(私钥存放在固定的容器中。如果使用ukey,那么私钥就存放在ukey中; 如果使用软证书,就存在服务端私钥文件中)
1、数据加密解密:公钥(证书)用来加密,私钥用来解密(保证传输数据加密)
2、数据签名验签:私钥用来签名,公钥(证书)用来验签(保证传输数据不被篡改)
对于EAS中的CA认证而言,天威诚信的CA认证也是非对称加密算法(不过只做了签名验签,未做加解密)。
1、EAS天威诚信CA认证配置指南
https://vip.kingdee.com/article/486598140602998784?productLineId=8
2、CA认证流程举例
1)、(第一次操作)付款单审批时,插入了用户A的ukey,弹框输入ukey密码之后
第一次操作只会签名:会用A的私钥(ukey中的私钥)对付款单需要签名的数据做签名,查询签名记录表中是否有该笔单据的签名,如果没有就会存入签名记录表(叫做签名A),认证流程结束,继续处理业务。
2)、(第二次操作)该笔付款单提交银企时,此时可能登录的B用户,插入了B用户的ukey,弹框输入ukey密码之后
第二次操作开始都会对上一次的签名做验签:查询到该笔单据最新(签名时间)的一次签名记录(签名A),并查询其关联的用户绑定的公钥证书(即EAS中A用户的公钥证书),然后用A用户的公钥证书对上一次签名(签名A)做验签
如果验签通过:会用B的私钥(ukey中的私钥)对付款单需要签名的数据做签名,将签名B 存入签名记录表中,成为该笔单据最新的签名B,认证流程结束,继续处理业务。
如果验签不通过:EAS前端会报错,业务中断。具体原因见EAS服务器对应实例下天威CA日志(
$EAS_HOME\eas\server\profiles\server*\logs\iTrusca_server)中看一般会有对用户A(搜索用户名即可)的验签流程日志,例如下图)
用户证书过期导致验签不通过问题举例:
提示报错如下(或打开客户端安装路径下/logs/log4j.log看详细报错):
Caused exception message is: 签名数据检查未通过,无法操作业务,请联系(安全)管理员!签名人zhangsan,明文信息12345.6700大家好公司0632143274921,签名结果zYLdY9rq8NMLRMogni86+hcCDDuSmmkTop18SgE8Wol3BSzn9mnAASg4KamveoX**************7qEhvxzDpb6py77ZItD6eI+cRKl4B9kMFgpc4ydazO1Jimp2QoXbUYyY/QQKscg==,验签返回结果207
解决步骤如下:
2、eas登录administrator-智能钥匙认证-选择该用户-禁用钥匙-回收-初始化key-启用钥匙即可
如果依然有问题,那很可能是证书缓存未更新的bug导致,重启EAS服务器可变通解决,如果不愿意可提单跟进,有私包处理,补丁暂未发布。
推荐阅读