收藏
回答

利用CA证书的p12文件生成apiclient_key.pem有错

因为这个商户号升级了CA证书,无法直接下载apiclient_key.pem文件,所以利用xxx.p12文件生成apiclient_cert.pem,apiclient_key.pem,

但是在退款中用到证书却说curl|_error() 报错:unable to set private key file: '/www/wwwroot/xls.hsmro.cn/public/wxpay/cert

根据文档生成俩个文件:

openssl pkcs12 -clcerts -nokeys -in 1304163401_20190301_cert.p12 -out apiclient_cert.pem

openssl pkcs12 -nocerts -in 1304163401_20190301_cert.p12 -out apiclient_key.pem

在生成apiclient_key.pem文件时,Enter Import Password: 输入的是商户号id,

我在Enter PEM pass phrase: 也输入的商户号id,这样对吗?


查看apiclient_key.pem,有个Bag Attributes


最后一次编辑于  2019-03-01
回答关注问题邀请回答
收藏

3 个回答

  • momo
    momo
    2019-03-16

    我也遇上了同样的问题,已经解决了。解决方法:openssl rsa -in apiclient_key.pem -out apiclient_key.pem 将生成的apiclient_key.pem文件重新用rsa处理一下就可以了。希望对你的问题有所帮助。

    2019-03-16
    有用 6
    回复 2
    • 壹立 莫老师
      壹立 莫老师
      2019-11-01
      我也是相同的问题   按照上面的操作  问题已经解决   感谢
      2019-11-01
      回复
    • o9
      o9
      2021-05-12
      相同问题  参照操作 已经解决 谢谢大佬
      2021-05-12
      回复
  • 🔭Pon大鹏
    🔭Pon大鹏
    2022-08-21

    亲测有效,刚解决完,兄弟用这个:

    openssl pkcs12 -in springboot.p12 -out springboot.key -nocerts -nodes
    

    最后把编辑器打开,把-----BEGIN PRIVATE KEY-----前面的删除就可以直接用

    PS:输出的文件后缀可以随意,内容是一样的
    


    参考连接:https://springboot.io/t/topic/963

    2022-08-21
    有用 1
    回复
  • 劉國誌🐯
    劉國誌🐯
    2019-03-02

    我也遇到了这个问题,用CA颁发的证书无法执行退款操作。

    相同的代码,用其它商户平台账号与证书执行退款操作就可以。

    2019-03-02
    有用 1
    回复 1
    • 微信支付技术助手7
      微信支付技术助手7
      2019-03-04

      您好,这种情况,一种原因就证书路径不对,路径定好windows组件版中的证书,用

      getcwd().'/apiclient_cert.pem'这种写法。


      2019-03-04
      回复
登录 后发表内容