如何让 Leopard 从命令行使用 ssl

Posted

技术标签:

【中文标题】如何让 Leopard 从命令行使用 ssl【英文标题】:How do I get Leopard to work with ssl from the command line 【发布时间】:2012-07-27 08:26:35 【问题描述】:

我尝试通过 https 连接的一切都失败了。 Bellow 是一个 curl 输出,但它使用 git mongo 和所有东西来完成。达尔文就是不喜欢 https。

即将 connect() 到 github.com 端口 443 (#0) 正在尝试 207.97.227.239... 已连接 连接到 github.com (207.97.227.239) 端口 443 (#0) 成功设置证书验证位置: CA 文件:/usr/share/curl/curl-ca-bundle.crt CApath:无 SSLv2,客户端问候 (1): SSLv3、TLS 握手、服务器问候 (2): SSLv3、TLS 握手、CERT (11): SSLv3、TLS 警报、服务器问候 (2): SSL 证书问题,验证 CA 证书是否正常。细节: 错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败 关闭连接 #0 curl: (60) SSL证书问题,验证CA证书是否OK。细节: 错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

您可能会说没问题,只需将 https 更改为 http,是的,当您只有 1 个类似 git clone 的 url 但在 rvm install 上,大约 50 个所需的东西因此无法安装。我不想进入 rvm 并将所有出现的 https 更改为 http。

【问题讨论】:

【参考方案1】:

这看起来像是 curl 本身的问题,而不是 OSX。你用的是什么版本?如果它特别旧,那么这里对"severely outdated CA file" 的引用可能适用。

尝试从 macports 安装最新版本的 curl 和 git。

【讨论】:

git 也一样,我运行的是最新版本的 CURL(从源代码编译),编译时说 https 没有准备好 更像它使用的 CA 文件。见simplicidade.org/notes/archives/2011/06/…【参考方案2】:

看看这篇文章,略有不同,但我认为它会回答你的问题:

SSL certificate rejected trying to access GitHub over HTTPS behind firewall

您基本上可以让 OSX 忽略 SSL 证书验证,并接受连接。

【讨论】:

【参考方案3】:

原来我的 curl 版本使用旧证书来验证 https。

我在 Leopard 下的 git for cURL 上遇到了这个问题:

https://github.com/mxcl/homebrew/issues/11947

错误消失了,我现在可以从 cURL 下载 https 文件。

【讨论】:

Err... 这听起来很像我提到的“过时的 CA 文件”问题。 git 的解决方案是什么?

以上是关于如何让 Leopard 从命令行使用 ssl的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 OS X 中的命令行获取活动用户的名称?

如何让 Xcode 8 从命令行自动生成配置文件?

从命令行运行单元测试时的 SSL 连接问题

让网站永久拥有免费HTTPS(SSL)

作为命令行工具运行时,如何让 NSURLSession 处理 completionHandler

如何从命令行访问 Apache PySpark?