public class CertificateDownloaderTest {
//用于证书解密的密钥
private String apiV3key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX";
// 商户号
private static String mchId = "XXXXXXXXXXXX";
// 商户证书序列号
private static String mchSerialNo = "XXXXXXXXXXXXXXXXXXXXXXX";
// 商户私钥
private static String mchPrivateKeyFilePath = "D:\\software\\项目\\邮政\\邮政微信生产环境\\apiclient_key.pem";
// 微信支付平台证书
//private static String wechatpayCertificateFilePath = "wxpayplatformcert.pem";
//下载成功后保存证书的路径
private static String outputFilePath = "D:\\ideal_project\\YouZheng_Project\\cert";
@Test
public void testCertDownload() {
// String[] args = {"-k", apiV3key, "-m", mchId, "-f", mchPrivateKeyFilePath,
// "-s", mchSerialNo, "-o", outputFilePath, "-c", wechatpayCertificateFilePath};
String[] args = {"-k", apiV3key, "-m", mchId, "-f", mchPrivateKeyFilePath,
"-s", mchSerialNo, "-o", outputFilePath};
CommandLine.run(new CertificateDownloader(), args);
}
}
上面的是生成平台证书的demo。所有参数准备完毕后,执行@Test标记的方法的,就会生成wechatpay_259784D9784D7F32B3F02B513455DF32B3F02A6.pem(V3平台证书)。
这里在执行方法时:可能出现以下问题:
报错信息:java.security.InvalidKeyException: Illegal key size
jdk8自带的jar包AES解密只能处理128位的密钥
需要去Oracle官网下载jar包替换原有jar包
Oracle官网的jar包下载地址:https://www.oracle.com/cn/java/technologies/javase-jce8-downloads.html
需要用到的2个jia包文件名
- local_policy.jar
- US_export_policy.jar
找到JDK的安装路劲:
默认为:C:\Program Files\Java
将刚才的2个jar包与 jre1.8.0_20\lib\security\ 路劲下的2个同名的jar包替换
再将刚才的2个jar包与 jdk1.8.0_20\jre\lib\security 路劲下的2个同名的jar包替换
现在可以执行代码获取平台证书了。
官方证书下载工具地址:https://github.com/wechatpay-apiv3/CertificateDownloader
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142709.html