JDK1.8解决微信支付相关的IllegalArgumentException: java.security.InvalidKeyException: Ille

420 阅读1分钟
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

参考来源:JDK1.8解决微信支付相关的IllegalArgumentException: java.security.InvalidKeyException: Illegal key size问题_微信支付 illegal key size-CSDN博客