【BOS基础系统_安全认证】EAS天威诚信CA认证流程原创
金蝶云社区-汪伟康
汪伟康
14人赞赏了该文章 1520次浏览 未经作者许可,禁止转载编辑于2023年09月04日 18:11:04

首先了解下保证客户端与服务端数据交互安全的两个概念,这里我们以非对称加密算法举例:

公钥和私钥是一套非对称秘钥,公钥是公开的,私钥是保密的(私钥存放在固定的容器中。如果使用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(搜索用户名即可)的验签流程日志,例如下图)

image.png



用户证书过期导致验签不通过问题举例:

提示报错如下(或打开客户端安装路径下/logs/log4j.log看详细报错):

Caused exception message is: 签名数据检查未通过,无法操作业务,请联系(安全)管理员!签名人zhangsan,明文信息12345.6700大家好公司0632143274921,签名结果zYLdY9rq8NMLRMogni86+hcCDDuSmmkTop18SgE8Wol3BSzn9mnAASg4KamveoX**************7qEhvxzDpb6py77ZItD6eI+cRKl4B9kMFgpc4ydazO1Jimp2QoXbUYyY/QQKscg==,验签返回结果207


解决步骤如下

1、找天威技术帮基于元秘钥更新该用户证书有效期(如果没有天威的服务人员对接可打天威售后电话:4006663999

2、eas登录administrator-智能钥匙认证-选择该用户-禁用钥匙-回收-初始化key-启用钥匙即可


如果依然有问题,那很可能是证书缓存未更新的bug导致,重启EAS服务器可变通解决,如果不愿意可提单跟进,有私包处理,补丁暂未发布。


赞 14