项目中调用第三方接口,使用ASE加密时密钥过长抛出异常,记录一下bug解决方案。
本文讲述了在项目中遇到的AES加密异常,由于JDK版本安全限制,密钥超过128位会抛出异常。解决方案包括升级至最新JDK版本或直接替换特定的securityjar文件,本文为替换特定文件用法
Caused by: java.lang.IllegalArgumentException: java.security.InvalidKeyException: Illegal key size at com.wechat.pay.contrib.apache.httpclient.util.AesUtil.decryptToString(AesUtil.java:47) at com.wechat.pay.contrib.apache.httpclient.util.CertSerializeUtil.deserializeToCerts(CertSerializeUtil.java:42) at com.wechat.pay.contrib.apache.httpclient.cert.CertificatesManager.downloadAndUpdateCert(CertificatesManager.java:267) at com.wechat.pay.contrib.apache.httpclient.cert.CertificatesManager.initCertificates(CertificatesManager.java:295) at com.wechat.pay.contrib.apache.httpclient.cert.CertificatesManager.putMerchant(CertificatesManager.java:152) at com.magicyo.pay.config.WechatPayConfig.getVerifier(WechatPayConfig.java:133) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native