新闻公告

2018年3月14日微信支付团队向所有开发者或者支付账户管理员发送了微信支付HTTPS服务器将于2018年5月29日更换服务器的SSL数字证书,如果商户平台所在的服务器过于老旧或者缺少DigiCert根证书,届时将会导致接口支付通信故障。

2018年3月14日微信支付团队向所有开发者或者支付账户管理员发送了微信支付HTTPS服务器将于2018年5月29日更换服务器的SSL数字证书,如果商户平台所在的服务器过于老旧或者缺少DigiCert根证书,届时将会导致接口支付通信故障。

intro weixin pay 56788

影响背景

微信支付平台在2018年3月14日发出微信将更换服务器的SSL证书,原文:【重要】微信支付服务器证书更换通知,请开发人员验证以免影响交易

品牌解释

原微信支付平台服务器的SSL数字证书由GeoTrust签发,在DigiCert并购Symantec数字证书业务之前,GeoTrust仍然是根签发机构,而在此之后,DigiCert将成为GeoTrust的根签发机构,这并不意味着GeoTrust和Symantec证书失去权威,DigiCert除了自有品牌外,其子品牌中函盖了Symantec, GeoTrust, Thawte, RapidSSL等多个品牌。根据微信支付给出的通告,微信支付将使用DigiCert签发的证书,则有可能采用DigiCert或子品牌中的一种,因为这些品牌的根证书都将是DigiCert。

对于并购并不影响这些子品牌产品的正常使用及签发,具体DigiCert/Symantec给出了过渡解决方案:DigiCert收购Symantec数字证书业务后问题答疑

为什么要更换服务器根证书?

对于根证书而言,其权威性不需要普通用户去做任何根证书导入操作,所有操作系统和执行环境中已经内置了该根CA证书,DigiCert Global Root CA和DigiCert High Assurance EV Root CA,具体前往下载:DigiCert证书下载(下载后可重命名文件),而部分老旧系统可能长年未更新,所以为了提升兼容性,微信建议对商户的服务器中操作系统进行根证书检查以及导入(如检查有可不导入)。

微信支付也强调,若因商户的服务器上没有部署新的根CA证书,将可能导致商户的下单、退款等功能无法正常使用,所以作为开发者和商户都应当重视此次安全调整。

微信提供证书下载:

权威机构根CA证书证书序列号证书有效期Windows兼容Java兼容证书下载
DigiCert Global Root CA  08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a 2006.11.10 - 2031.11.10 Windows 7+ 1.6.05及以上 PEM格式
DER格式
Baltimore CyberTrust Root CA 02:00:00:b9 2000.5.13 - 2025.5.13 Windows XP及以上 1.4.2及以上 PEM格式
DER格式

检查及导入证书

在主流的操作系统中进行以下检查操作,如检查不成功则进行安装根证书

操作系统

操作

命令行

Ubuntu, Debian 查看根证书 确认操作系统上,是否存在以下文件: 
  1. /etc/ssl/certs/DigiCert_Global_Root_CA.pem
  2. /etc/ssl/certs/Baltimore_CyberTrust_Root.pem
安装根证书
  1. 复制根证书文件到 /usr/local/share/ca-certificates/
  2. 安装根证书:  sudo update-ca-certificates
  3. 更多的命令行参数及说明, 请查看: man update-ca-certificates
CentOs, 
Red Hat Enterprise Linux
查看根证书 确认/etc/pki/tls/certs/ca-bundle.crt文件中, 是否存在以下内容: 
  1. DigiCert Global Root CA
    Serial Number:  08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a
  2. Baltimore CyberTrust Root
    Serial Number: 0x20000b9
安装根证书
  1. 安装根证书管理包软件:  yum install ca-certificates
  2. 打开根证书动态配置开关:  update-ca-trust force-enable
  3. 将DigiCert的根证书文件复制到: /etc/pki/ca-trust/source/anchors/
  4. 安装根证书:  update-ca-trust extract
  5. 更多的命令行参数及说明, 请查看: man update-ca-trust)
Windows类操作系统 检查及安装根证书 具体参考Windows系统中的证书更新及导入管理

重要提示:

以上表格来自微信支付,未对EV扩展型根证书进行导入,如果商户使用的是EV扩展型证书,将下载的DigiCert的EV扩展型根证书重命名为DigiCert_High_Assurance EV_Root_CA.pem,并进行检查及导入。

愿景

微信作为行业巨头,对接口通信的安全极为重视,SSL/TLS数字证书的普及利益于此,对于本次微信支付的调整,微信给出了详细解决方案:微信支付HTTPS服务器证书验证指引

相关文章