升级 ubuntu 软件包后 CA 文件消失

升级 ubuntu 软件包后 CA 文件消失

我有一台 ubuntu 12.04 服务器,两年没升级了。它一直运行良好,直到我们决定升级它。

升级(apt-get upgrade)后,CA 文件/usr/share/ca-certificates/mozilla/Entrust.net_Secure_Server_CA.crt消失,程序无法访问Entrust Certification Authority - L1C

知道为什么会发生这种情况吗?

以下是日志:

ubuntu@ip-10-67-192-40:~$ curl -i https://api.demo.com/ #works ubuntu@ip-10-67-192-40:~$ file /etc/ssl/certs/5f267794.0 /etc/ssl/certs/5f267794.0: symbolic link to `Entrust.net_Secure_Server_CA.pem' ubuntu@ip-10-67-192-40:~$ file /etc/ssl/certs/Entrust.net_Secure_Server_CA.pem /etc/ssl/certs/Entrust.net_Secure_Server_CA.pem: symbolic link to `/usr/share/ca-certificates/mozilla/Entrust.net_Secure_Server_CA.crt' ubuntu@ip-10-67-192-40:~$ file /usr/share/ca-certificates/mozilla/Entrust.net_Secure_Server_CA.crt /usr/share/ca-certificates/mozilla/Entrust.net_Secure_Server_CA.crt: PEM certificate ubuntu@ip-10-67-192-40:~$ sudo update-ca-certificates Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d....done. root@ip-10-67-192-40:~# apt-get update; apt-get upgrade ubuntu@ip-10-67-192-40:~$ curl -i https://api.demo.com/ #dosen't work

答案1

看起来这是相关的变更日志条目:

ca-certificates (20140927) unstable; urgency=medium

  * Update Mozilla certificate authority bundle to version 2.1.
  [...]
    The following certificate authorities were removed (-):
    - "Entrust.net Secure Server CA"
  [...]

 -- Michael Shuler <[email protected]>  Sat, 27 Sep 2014 15:14:00 -0500

经过一点 DDG 的快速分析,我发现这个 Mozilla 错误请求删除,并参考另一个错误这表明有问题的 CA 证书已被弃用,所有信任位已被删除,因此已从 NSS 中删除。

鉴于该证书已于 2011 年(Firefox 6)从 NSS 中删除,并且大概在此之前的某个时间就已被弃用,我认为现在是时候为您尝试访问的网站获取新的证书了。

答案2

更新:Xero 似乎正在过渡到新的证书,这解决了这个问题。简单的解决方法是使用sha2-api.xero.com代替api.xero.com。但请注意,您需要在 2016 年 4 月之前改回来。更多详情:http://developer.xero.com/sha2-ssl-cert-migration-advisory-notice/

我们在连接时遇到了同样的问题api.xero.com在 Ubuntu 14.04 服务器上使用 curl。

详细说明上一个答案,解决方案是安装Entrust 安全服务器证书证书手动添加到您的 CA 证书存储中。这是一个(已弃用的)根 CA。证书可以从以下位置下载:https://www.entrust.net/downloads/binary/entrust_ssl_ca.cer

下载并将文件放入/usr/local/share/ca-certificates。确保它有一个.crt扩展名(而不是它.cer自带的)。

然后运行sudo update-ca-certificates重建系统 CA 包。

相关内容