gpt4 book ai didi

ssl -/etc/ssl/cert.pem 中的证书今天过期(MacOS Mojave)

转载 作者:行者123 更新时间:2023-12-04 22:34:24 29 4
gpt4 key购买 nike

存储在/etc/ssl/cert.pem 中的证书今天在我的 Mojave 计算机上过期,这导致我的 curl 命令出现问题。反正有更新吗?我看到我的 Catalina 计算机具有更新的证书。我可以把它复制到我的 Mojave 电脑吗?

最佳答案

昨天,Let's Encrypt DST Root CA X3 根证书过期,这导致了与您遇到的类似问题:curl显示 SSL 证书问题:尝试使用新的 Let's Encrypt ISRG Root X1 证书访问网站时出现证书已过期错误。
在 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 系统根钥匙串(keychain)导出的证书:

  • 备份旧的 /etc/ssl/cert.pem :

  • sudo cp /etc/ssl/cert.pem{,-orig}
  • 导出系统钥匙串(keychain)并替换/etc/ssl/cert.pem的内容:

  • security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee /etc/ssl/cert.pem >/dev/null
    或者,您可以告诉 curl 使用不同的证书文件,如下所示:
    curl -I --cacert /path/to/certificates.pem https://example.com/
    或使用 CURL_CA_BUNDLE=/path/to/certificates.pem 配置此文件的位置环境变量。

    关于ssl -/etc/ssl/cert.pem 中的证书今天过期(MacOS Mojave),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62103109/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com