之前使用 2023.7.7生成的apiclient_key.pem进行读取,始终提示 No Such File,后重新生成新的证书。
目前还未进展至获取平台证书阶段,仍在读取本地私钥证书阶段,报错Illegal base64 character 3f。
已排查证书文件,确认文件没有问题,确认序列号没有问题,确认商户号没有问题,APIv3 密钥也重新设置了。
String appid = "wxf67**********e70";
String merchantId = "16******62";
String privateKeyPath = "apiclient_key.pem";
String merchantSerialNumber = "5E1E********************9FCA7";
String apiV3Key = "llV*****************jcX";
Config config =
new RSAAutoCertificateConfig.Builder()
.merchantId(merchantId)
.privateKeyFromPath(privateKeyPath)
.merchantSerialNumber(merchantSerialNumber)
.apiV3Key(apiV3Key)
.build();
以下为报错:
严重: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Illegal base64 character 3f] with root cause
java.lang.IllegalArgumentException: Illegal base64 character 3f
at java.base/java.util.Base64$Decoder.decode0(Base64.java:848)
at java.base/java.util.Base64$Decoder.decode(Base64.java:566)
at java.base/java.util.Base64$Decoder.decode(Base64.java:589)
at com.wechat.pay.java.core.util.PemUtil.loadPrivateKeyFromString(PemUtil.java:41)
at com.wechat.pay.java.core.util.PemUtil.loadPrivateKeyFromPath(PemUtil.java:81)
at com.wechat.pay.java.core.AbstractRSAConfigBuilder.privateKeyFromPath(AbstractRSAConfigBuilder.java:31)
这报错还是读取的证书格式问题吧,换P12试下,或者看下这个https://blog.51cto.com/u_16213402/7068997