Closed Hitvz closed 11 months ago
我issue写一半呢,我也遇到了,不过我解决了 也不算是bug,记录一下 简单的说异常是由于jdk版本低于1.8.0_151(也有说是1.8.0_161)引起的, 两种解决方案:
Security.setProperty("crypto.policy", "unlimited");
参考文档: https://www.baeldung.com/jce-enable-unlimited-strength https://docs.oracle.com/cd/E60058_01/PDF/8.0.6.x/8.0.6.0.0/AG_HTML/Enabling_Unlimited_Cryptographic_Policy_for_Java.htm
错误描述
报错堆栈如下: java.lang.IllegalArgumentException: java.security.InvalidKeyException: Illegal key size at com.wechat.pay.java.core.cipher.AbstractAeadCipher.decrypt(AbstractAeadCipher.java:83) at com.wechat.pay.java.core.certificate.AbstractAutoCertificateProvider.decryptCertificate(AbstractAutoCertificateProvider.java:157) at com.wechat.pay.java.core.certificate.AbstractAutoCertificateProvider.downloadAndUpdate(AbstractAutoCertificateProvider.java:122) at com.wechat.pay.java.core.certificate.AbstractAutoCertificateProvider.(AbstractAutoCertificateProvider.java:89)
at com.wechat.pay.java.core.certificate.AbstractAutoCertificateProvider.(AbstractAutoCertificateProvider.java:49)
at com.wechat.pay.java.core.certificate.RSAAutoCertificateProvider.(RSAAutoCertificateProvider.java:32)
at com.wechat.pay.java.core.certificate.RSAAutoCertificateProvider.(RSAAutoCertificateProvider.java:21)
at com.wechat.pay.java.core.certificate.RSAAutoCertificateProvider$Builder.build(RSAAutoCertificateProvider.java:111)
at com.wechat.pay.java.core.RSAAutoCertificateConfig$Builder.build(RSAAutoCertificateConfig.java:114)
重现bug的步骤
构建config的时候,执行build方法时报错。 config = new RSAAutoCertificateConfig.Builder() .merchantId(merchantId) .privateKey(privateKey) .merchantSerialNumber(merchantSerialNumber) .apiV3Key(apiV3key) .httpClientBuilder(httpClientBuilder) .build();
预期行为
能更改实现方式么解决么,比如使用第三方库实现这个逻辑,这个不知道是否能行,只是提一下
导致错误的代码片段
No response
操作系统
centos 7
Java 版本
java 1.8.0_141-b15
wechatpay-java 版本
0.2.11
其他信息
No response