您现在的位置是:首页 > 经验记录>磨刀不误砍柴工>微信支付关于你只有p12文件时, 我们却需要pem文件怎么办? 网站首页 磨刀不误砍柴工

微信支付关于你只有p12文件时, 我们却需要pem文件怎么办?

先看官方文档:

附件中的三份文件(证书pkcs12格式、证书pem格式、证书密钥pem格式),为接口中强制要求时需携带的证书文件。

证书属于敏感信息,请妥善保管不要泄露和被他人复制。

不同开发语言下的证书格式不同,以下为说明指引:

    证书pkcs12格式(apiclient_cert.p12)
        包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
        部分安全性要求较高的API需要使用该证书来确认您的调用身份
        windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户号(如:1900006031)
        
    证书pem格式(apiclient_cert.pem)
        从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制
        部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
        您也可以使用openssl命令来自己导出:openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
        
    证书密钥pem格式(apiclient_key.pem)
        从apiclient_cert.p12中导出密钥部分的文件,为pem格式
        部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
        您也可以使用openssl命令来自己导出:openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
  1. 在此可以看出根据p12文件我们可以使用openssl 进行pem解析.

  2. 下载openssl,对应下载系统的,而且看版本,我这里是windwos11系统,之前使用的Win64 OpenSSL v3.0.7 Light不行,换成了Win64 OpenSSL v1.1.1s Light才可以了

  3. openssl下载地址:https://slproweb.com/products/Win32OpenSSL.html

  4. 下载后安装,进入安装的文件夹,进入bin目录(cmd进入)

解析 apiclient_cert.pem(apiclient_cert.p12就是你拿到的微信的p12证书文件,这里是相对地址):

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

解析 apiclient_key.pem:

openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem

注意点:

1. 解析key.pem 时必须需要输入三次密码校验,不然不可使用(密码默认为你微信支付商户号)

2. 解析完成key.pem 后 需要进行RSA算法进行再次加密后才能使用.

对解析后的key.pem进行RSA算法(如果是代码里面接入完成了微信支付或者用的第三方包,不需要这一步,直接使用apiclient_cert.pem和apiclient_key.pem就行):

openssl rsa -in apiclient_key.pem -out apiclient_key.pem

实话实话微信是真坑…


原文:https://javaforall.cn/148171.html

根据原文完善及修改后发布

文章评论

未开放
Top