公众平台接口证书更换通知

微信公众平台将于2018年8月23日更换api.weixin.qq.com的HTTPS服务器证书,少部分服务器上可能没有部署对应的根证书,将导致获取token、群发消息等接口无法使用,因此,在这里,天津微信开发提醒各位开发者于2018年8月23日之前配合做以下检查或变更。

第一步:验证证书

经过测试,目前绝大部分操作系统和执行环境中已经内置了该根证书,开发者服务器(非用户浏览器)不需要做任何变更。

微信公众平台的服务器证书支持多域名,即API域名(api.weixin.qq.com)与API容灾域名(api2.weixin.qq.com)使用同一张证书,正常情况下请使用api.weixin.qq.com域名,新证书与旧证书的证书链区别如下:(左边新,右边旧)。

可以通过以下方法验证:

1)linux服务器

通过 curl -v "https://api2.weixin.qq.com/testcert?appid=xxxxxx"自测,查看证书issuer是否为CN=GeoTrust RSA CA 2018,OU=www.digicert.com,O=DigiCert Inc,C=US,如果issuer匹配,请求结果返回 “Certificate test passed!” 则表示证书不需要更新处理。如果issuer不匹配或是出现其他异常没有返回 “Certificate test passed!” 则需要第二步进行修正。

2)windows服务器

可通过IE浏览器访问 https://api2.weixin.qq.com/testcert?appid=xxxxxx, 如果证书显示正常,页面返回 “Certificate test passed!”,则不需要更新根证书。

或者在控制台窗口运行certmgr.msc,在操作菜单栏中打开查找证书,在所有颁发给域中搜索包含Baltimore,如果显示有颁发给BaltimoreCyberTrustRoot的证书则不需要更新证书。

如果出现异常请参考第二步的修正指引。

第二步:修正指引

如果上述检查步骤自测通过,则下面安装证书步骤可以跳过。

部分服务器操作系统证书安装指引:

1)centos系统

wget https://dl.cacerts.digicert.com/BaltimoreCyberTrustRoot.crt

openssl x509 -inform der -in BaltimoreCyberTrustRoot.crt >> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

update-ca-trust

2)ubuntu系统

sudo cp BaltimoreCyberTrustRoot.crt /usr/local/share/ca-certificates/BaltimoreCyberTrustRoot.crt

sudo update-ca-certificates

3)windows系统

下载更证书文件后,直接打开文件按照提示操作安装即可。

其他环境请参考网络。

注意:业务代码中不要指定证书。当程序中不指定根证书时,会使用系统自带的根证书。绝大部分系统中已内置了api.weixin.qq.com的根证书,所以删除掉指定根证书的代码,不会影响到你的现有业务,后续兼容性也更好。

声明:文章"公众平台接口证书更换通知"为文率科技微信开发公司原创文章,转载请注明出处,谢谢合作!

微信系统公告文章推荐阅读