nat*_*udd 14 ssl ssl-certificate
存储在 /etc/ssl/cert.pem 中的证书今天在我的 Mojave 计算机上过期,这导致我的curl 命令出现问题。到底有没有办法更新呢?我看到我的 Catalina 计算机有更新的证书。我可以将其复制到我的 Mojave 计算机上吗?
Qui*_*ant 12
昨天,Let's Encrypt DST Root CA X3根证书已过期,这会导致与您遇到的类似问题:尝试使用新的 Let's Encrypt ISRG Root X1证书访问网站时curl显示SSL 证书问题:证书已过期错误。
在 macOS Mojave(也许还有其他操作系统,但这就是我使用的)上,默认的 curl 在/etc/ssl/cert.pem验证 TLS 连接时使用证书(您可以通过运行来确认这一点curl -v https://example.com 2>&1 | grep CAfile)。
最简单的修复方法是从文件中删除过期的根证书/etc/ssl/cert.pem,假设文件中已存在其替换根证书。这足以修复过期的DST Root CA X3,因为其替换ISRG Root X1已存在于/etc/ssl/cert.pem文件中。### Digital Signature Trust Co.删除从到 的所有行-----END CERTIFICATE-----。
如果您需要完全替换/etc/ssl/cert.pem为更新的证书,可以将其替换为从 macOS系统根钥匙串导出的证书:
/etc/ssl/cert.pem:sudo cp /etc/ssl/cert.pem{,-orig}
Run Code Online (Sandbox Code Playgroud)
/etc/ssl/cert.pem:security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee /etc/ssl/cert.pem >/dev/null
Run Code Online (Sandbox Code Playgroud)
或者,您可以告诉curl 使用不同的证书文件,如下所示:
curl -I --cacert /path/to/certificates.pem https://example.com/
Run Code Online (Sandbox Code Playgroud)
或者使用环境变量配置该文件的位置CURL_CA_BUNDLE=/path/to/certificates.pem。
小智 0
我认为您对 AddTrust CA 有疑问
\n\n\n\n\n\n您需要执行的操作\n 对于大多数用例(包括为现代客户端或服务器系统提供服务的证书),无论您是否已颁发交叉链接到 AddTrust 根的证书,都不需要执行任何操作。
\n\n截至 2020 年 4 月 30 日:对于依赖于非常旧的系统的业务流程,Sectigo 提供了(默认在证书捆绑中)用于交叉签名的新旧根,即 \xe2\x80\x9cAAA 证书服务\xe2\ x80\x9d 根目录。但是,对于依赖于非常旧的遗留系统的任何进程,请格外小心。尚未收到支持较新根(例如 Sectigo\xe2\x80\x99s COMODO 根)所需更新的系统将不可避免地缺少其他重要的安全更新,并且应被视为不安全。如果您仍想交叉签署 AAA 证书服务根,请直接联系 Sectigo。
\n
| 归档时间: |
|
| 查看次数: |
5559 次 |
| 最近记录: |