MacOS Mojave下/etc/ssl/cert.pem证书过期致curl异常,求更新方案
没问题,我来帮你解决这个证书过期导致curl报错的问题——先直接回应你的核心疑问:完全可以从Catalina电脑复制cert.pem到Mojave上使用,不过操作前一定要做好备份,避免意外。下面给你两种靠谱的解决方案:
方法一:从Catalina复制官方证书到Mojave
这种方式直接复用苹果维护的最新证书,兼容性拉满:
- 第一步:先备份Mojave上的过期证书(重中之重!)
打开终端,执行命令:sudo cp /etc/ssl/cert.pem /etc/ssl/cert.pem.backup - 第二步:从Catalina获取最新证书
在Catalina电脑的终端里,把证书导出到桌面方便传输:
用AirDrop、U盘或者网盘把这个sudo cp /etc/ssl/cert.pem ~/Desktop/cert.pem.latestcert.pem.latest传到Mojave的下载文件夹。 - 第三步:替换Mojave的过期证书
回到Mojave的终端,执行:sudo cp ~/Downloads/cert.pem.latest /etc/ssl/cert.pem - 第四步:修正证书权限
确保证书权限和系统默认一致,避免后续权限问题:sudo chmod 644 /etc/ssl/cert.pem sudo chown root:wheel /etc/ssl/cert.pem - 测试验证
运行curl https://google.com,如果能正常返回网页内容,说明替换成功。
方法二:用Homebrew更新证书(长期维护更省心)
如果你的Mojave已经装了Homebrew,这是更推荐的长期方案——后续可以随时更新证书:
- 第一步:安装/更新OpenSSL
终端执行命令,确保拿到最新版的OpenSSL(自带最新根证书):# 没装过就执行安装 brew install openssl # 已经装了就更新到最新 brew upgrade openssl - 第二步:替换系统证书
Homebrew安装的OpenSSL证书路径是/usr/local/etc/openssl/cert.pem,直接替换系统证书:sudo cp /usr/local/etc/openssl/cert.pem /etc/ssl/cert.pem - 同样执行方法一的权限修正命令,然后测试curl是否正常。
关键提醒
- 不管用哪种方法,备份旧证书是必须的——如果替换后出现奇怪问题,直接执行
sudo cp /etc/ssl/cert.pem.backup /etc/ssl/cert.pem就能恢复原状。 - 从Catalina复制的证书是苹果官方维护的,和Mojave系统完全兼容,不用担心版本冲突。
内容的提问来源于stack exchange,提问作者naterudd
相关产品推荐
相关产品推荐

