首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cert in /etc/ssl/cert.pem今天到期(MacOS Mojave)

cert in /etc/ssl/cert.pem今天到期(MacOS Mojave)
EN

Stack Overflow用户
提问于 2020-05-30 13:26:16
回答 4查看 3.1K关注 0票数 14

存储在/etc/ssl/cert.pem中的证书今天在我的Mojave计算机上过期,这给我的curl命令带来了问题。有什么要更新的吗?我发现我的Catalina电脑有一个更新的证书。我能把它复制到我的Mojave电脑上吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-05-30 20:25:45

我想你对AddTrust CA有问题

大多数用例所需做的事情,包括为现代客户端或服务器系统服务的证书,不需要采取任何行动,无论您是否颁发了交叉链接到AddTrust根目录的证书。

截至2020年4月30日:对于依赖于非常老系统的业务流程,Sectigo为交叉签名提供了一个新的遗留根,即“AAA证书服务”根(默认情况下在证书包中)。但是,对于任何依赖于非常老的遗留系统的进程,请使用非常谨慎的方法。没有收到支持更新根(如Sectigo的COMODO根)所需的更新的系统将不可避免地缺少其他必要的安全更新,应该被视为不安全的。如果您仍想交叉签名到AAA证书服务根目录,请直接与Sectigo联系.

https://support.sectigo.com/articles/Knowledge/Sectigo-AddTrust-External-CA-Root-Expiring-May-30-2020

票数 0
EN

Stack Overflow用户

发布于 2021-10-02 03:08:58

昨天,“让我们加密DST根CA X3根证书”过期了,这导致了类似的问题:curl显示了一个SSL证书问题:当尝试使用新的“让我们加密ISRG X1证书”访问网站时,证书已过期。

在macOS Mojave上(可能还有其他的,但这正是我所使用的),在验证/etc/ssl/cert.pem连接时,默认的curl使用/etc/ssl/cert.pem中的证书(您可以通过运行curl -v https://example.com 2>&1 | grep CAfile来确认这一点)。

最简单的解决方法是从/etc/ssl/cert.pem文件中删除过期的根证书,前提是它的替换已经存在于文件中。这足以修复过期的DST X3,因为替换它的ISRG X1已经存在于/etc/ssl/cert.pem文件中。将### Digital Signature Trust Co.中的所有行删除为-----END CERTIFICATE-----

如果需要用更新的证书完全替换/etc/ssl/cert.pem,可以将其替换为从macOS System导出的证书:

/etc/ssl/cert.pem

  1. 备份旧的

代码语言:javascript
复制
sudo cp /etc/ssl/cert.pem{,-orig}

/etc/ssl/cert.pem

  1. 导出系统密钥链及替换内容

代码语言:javascript
复制
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee /etc/ssl/cert.pem >/dev/null

或者,您可以告诉curl使用不同的证书文件,如下所示:

代码语言:javascript
复制
curl -I --cacert /path/to/certificates.pem https://example.com/

或使用CURL_CA_BUNDLE=/path/to/certificates.pem环境变量配置此文件的位置。

票数 9
EN

Stack Overflow用户

发布于 2021-10-04 06:14:22

我试过Quinn Comendant's solution,但没成功。

通过安装OpenSSL并将cert.pem文件链接到OpenSSL下的文件( MacOS Mojave中),我最终解决了这个问题:

代码语言:javascript
复制
$ sudo cp /etc/ssl/cert.pem /etc/ssl/cert.pem.bak

$ brew install openssl

$ brew info openssl
openssl@3: stable 3.0.0 (bottled) [keg-only]
Cryptography and SSL/TLS Toolkit
https://openssl.org/
/usr/local/Cellar/openssl@3/3.0.0 (6,415 files, 28MB)
  Poured from bottle on 2021-10-04 at 11:13:17
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openssl@3.rb
License: Apache-2.0
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@3/certs
...

从这里我们将知道配置在/usr/local/etc/openssl@3中,然后:

代码语言:javascript
复制
$ sudo rm /etc/ssl/cert.pem

$ sudo ln -s /usr/local/etc/openssl@3/cert.pem /etc/ssl/cert.pem

这解决了我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62103109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档