说在前面的话:
目前微信支付REST API只支持使用证书授权机构(Certificate Authority ,
简称CA)签发颁发的证书。商户需下载证书 工具生成证书请求串,
并将证书请求串提交到商户平台后才能获得商户API证书文件,
而私钥文件只能通过证书工具 导出。请妥善保管好你的商户私钥文件,
不要把私钥文件暴露在公共场合,如上传到Github,写在客户端代码等。
一、新接入商户平台,证书API升级。
1.下载证书工具。
Windows:https://wx.gtimg.com/mch/files/WXCertUtil.exe
Mac:https://wx.gtimg.com/mch/files/WXCertUtil.dmg
2.登录商户,CA申请。
新版的都是由CA机构发放,在微信商户无法直接下载证书了。先登录商户平台 - 账户中心 - API安全 - 申请证书
3.打开下载安装好证书工具。
选择证书生成位置。
填写刚才图中的商户号等信息。
点击下一步,复制到商户平台。然后在商户平台在点击下一步。
输入操作密码:
复制证书串到工具,
点击下一步,证书即可申请成功。
4.申请完成后,关闭即可。在微信商户可以看到有效期和证书序列号。
证书使用说明.txt:
欢迎使用微信支付!
附件中的三份文件(证书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
备注说明:
由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件(rootca.pem)下载
二、API证书升级。
额外:
1.API证书获取官方文档:https://kf.qq.com/faq/161222NneAJf161222U7fARv.html
2.API证书升级官方文档:https://kf.qq.com/faq/180824JvUZ3i180824YvMNJj.html