因为这个商户号升级了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
我也遇上了同样的问题,已经解决了。解决方法:openssl rsa -in apiclient_key.pem -out apiclient_key.pem 将生成的apiclient_key.pem文件重新用rsa处理一下就可以了。希望对你的问题有所帮助。
亲测有效,刚解决完,兄弟用这个:
最后把编辑器打开,把-----BEGIN PRIVATE KEY-----前面的删除就可以直接用
参考连接:https://springboot.io/t/topic/963
我也遇到了这个问题,用CA颁发的证书无法执行退款操作。
相同的代码,用其它商户平台账号与证书执行退款操作就可以。
您好,这种情况,一种原因就证书路径不对,路径定好windows组件版中的证书,用
getcwd().'/apiclient_cert.pem'这种写法。