JDK1.8解决微信支付相关的IllegalArgumentException: java.security.InvalidKeyException: Illegal key size问题
微信支付V3调用过程中遇到的java.security.InvalidKeyException: Illegal key size问题,通常是由于使用的加密密钥长度超过了Java默认支持的范围。
2025.02.13遇到的问题,微信退款回调的时候解密不了内容(req_info)
错误内容:
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 Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 102 common frames omitted
Caused by: java.security.InvalidKeyException: Illegal key size
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1039)
at javax.crypto.Cipher.implInit(Cipher.java:805)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1396)
at javax.crypto.Cipher.init(Cipher.java:1327)
at com.wechat.pay.contrib.apache.httpclient.util.AesUtil.decryptToString(AesUtil.java:40)
... 112 common frames omitted
升级JDK版本就行
不想变更大版本,升级小版本之后就好了
1.80.0_91升级到了1.80.0_172