#常见问题#【熊说银企云】中国建设银行-现金管理国密版-银企测试阶段-获取银行密钥失败padblockcurrupted原创
金蝶云社区-福分小熊
福分小熊
17人赞赏了该文章 1156次浏览 未经作者许可,禁止转载编辑于2023年08月31日 20:04:03

关键词:银企直联、中国建设银行、密钥交互、银企测试

参考文档:

建行CCIP加解密指导文档(非国密版RSA加密)

2023年2月测试环境批处理及任务安排(对应测试时必看,可向银行获取)

更新日志:

20230209V1.0.0:初稿

20230824V1.0.1:补充相关参考文档


1.问题描述

问题现象、报错信息

问题发生阶段:银企测试中,与银行密钥交互已成功,隔天启动前置机代理程序时报错。

启动前置机代理程序后提示报错:

公钥端口启动后成功。获取银行密钥失败:pad block corrupted。

image.png

查看前置机日志情况:

建设报错.png



2.原因分析

分析问题出现的可能原因(视情况而定)

pad block corrupted:java解密失败

根据日志查看,报错时间端为解密银行返回的密钥后出现的返回报错。


参考:java签名、加解密失败原因总结_格子的博客-CSDN博客

Java对接SM4加密过程中遇到的一些问题记录_凉茶冰的博客-CSDN博客


按规则(包含系统时间)生成的key去解密银行返回密钥,提示失败,要么key有问题了,要么密钥有问题。

在排除银行有问题的情况下,等同于说就是key有问题。


因为key编码包含了当前系统日期,就从系统日期入手。

检查发现(向银行获取如下图所示文件):

银行当前日期为2023-05-25(实际日期2023-02-09对应服务器日期),而我发现我配置的当前前置机代理程序上测试时间是2023-05-24,导致生成的key不对。

image.png

来源文件:2023年2月测试环境批处理及任务安排(对应测试时必看)

或者参考下图:

image.png


3.解决方法

解决思路/操作步骤

把服务器时间调整到2023-05-25,重启前置机代理程序即可。



4.应用小结

注意事项;补充说明(视情况而定)

测试时,不管什么时候做建行现金管理版本国密版银企测试,都需要确保前置机所在电脑的时间与银行测试服务器的时间要一致。

赞 17