收藏
评论

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

微信公众平台将于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的证书则不需要更新证书。





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



第二步:修正指引


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

如需安装证书,请点击下载,也可移步官网下载证书 https://dl.cacerts.digicert.com/BaltimoreCyberTrustRoot.crt


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


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的根证书,所以删除掉指定根证书的代码,不会影响到你的现有业务,后续兼容性也更好。


5417浏览
最后一次编辑于  2018-07-13
收藏

4 个评论

  • #0000FF
    #0000FF
    2018-07-17

    表示不知道要怎么做


    2018-07-17
    赞同
    回复
  • 2018-07-17

    没看懂,昨天开始小店下单无法通知我服务器,不知道有没有啥关系

    2018-07-17
    赞同
    回复
  • 睡前原谅一切
    睡前原谅一切
    2018-07-17

    需要观察下。

    2018-07-17
    赞同
    回复
  • 2018-07-17

    表示没看太懂,哈哈

    2018-07-17
    赞同
    回复
登录 后发表内容