【银企平台】招行云直连查余额报错"No such algorithm: SM4/CBC/PKCS7Padding"原创
8人赞赏了该文章
408次浏览
编辑于2023年09月18日 18:20:46
问题背景:银企平台招行云直连SM加密算法版本,之前查余额正常,后来突然报错(No such algorithm: SM4/CBC/PKCS7Padding), 该报错报错是指jvm运行环境依赖库中缺少这个加密算法,可能由于银企的jvm环境中存在相关jar包冲突(存在不同版本的bcprov-jdk15on包)导致,不好排查。
Caused by: java.security.NoSuchAlgorithmException: No such algorithm: SM4/CBC/PKCS7Padding at javax.crypto.Cipher.getInstance(DashoA13*..) at javax.crypto.Cipher.getInstance(DashoA13*..) at com.kingdee.ebservice.cmb.cmp.service.util.DCCryptor.CMBSM4Crypt(DCCryptor.java:74) at com.kingdee.ebservice.cmb.cmp.service.util.DCCryptor.CMBSM4EncryptWithCBC(DCCryptor.java:33) at com.kingdee.ebservice.cmb.cmp.service.util.SMUtil.encrypt(SMUtil.java:89)
解决方案:
1.在银企平台安装的jdk路径下的jre\lib\security修改java.security文件,替换security.provider.7=org.bouncycastle.jce.provider.BouncyCastleProvider。 并将原有的#security.provider.7=XXXXXXXXXXXX 注释掉 2.在银企平台安装路径下/jdk/jre/lib/ext下添加jar包(见附件bc包解压) 3.重启银企服务
上面这个方法是相当于指定jvm环境中的Bouncy Castle库的加密算法类为我们添加的那个jar包中的org.bouncycastle.jce.provider.BouncyCastleProvider,这个里面提供了该算法的支持。
bc包.zip(3.70MB)
赞 8
8人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读