wechatpay-apiv3 / wechatpay-java

微信支付 APIv3 的官方 Java Library
Apache License 2.0
841 stars 192 forks source link

为什么私钥路径一定要是绝对路径,多个项目成员如何管理这个路径 #271

Open wanglong1615 opened 2 months ago

wanglong1615 commented 2 months ago

错误描述

PemUtil.loadPrivateKey好歹接受一个文件流啊

重现bug的步骤

为什么私钥路径一定要是绝对路径,多个项目成员如何管理这个路径

预期行为

为什么私钥路径一定要是绝对路径,多个项目成员如何管理这个路径

导致错误的代码片段

PemUtil.loadPrivateKey好歹接受一个文件流啊

操作系统

Linux

Java 版本

JAVA 8

wechatpay-java 版本

0.2.12

其他信息

为什么私钥路径一定要是绝对路径,多个项目成员如何管理这个路径

lvguangzeng commented 3 weeks ago
        ClassPathResource classPathResource = new ClassPathResource("privateKeyPath");
        String privateKeyString = new BufferedReader(new InputStreamReader(classPathResource.getInputStream()))
                .lines().collect(Collectors.joining(System.lineSeparator()));
        PrivateKey privateKey = PemUtil.loadPrivateKeyFromString(privateKeyString);

        RSAAutoCertificateConfig config = new RSAAutoCertificateConfig.Builder()
                .merchantId(merchantId)
                .privateKey(privateKey)
                .merchantSerialNumber(merchantSerialNumber)
                .apiV3Key(apiV3Key)
                .build();

我用Spring的ClassPathResource读取的文件流。感觉微信支付写SDK或者设计接口的都不会用自己做出来的东西……🍐🎼