SSL证书 - OS X Mavericks

dze*_*eno 11 macos ssl curl ssl-certificate

我正在尝试连接到使用SSL的localhost上的应用程序.我正在使用Mac OS X Mavericks.我得到的错误如下:

Error sending cURL get request to https://dev.site.com:5555/version  
Error code: 60 Error msg: SSL certificate problem: Invalid certificate chain
Run Code Online (Sandbox Code Playgroud)

我试图将证书添加到链中:

/usr/bin/security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" /etc/path/ca_key.pem 
Run Code Online (Sandbox Code Playgroud)

仍然得到同样的错误.

And*_*hak 27

在某些情况下,使用标准卷曲会更好(例如,如果您使用Mac代码开发Linux或*BSD).在这种情况下,您可以这样做:

  1. 安装Homebrew

  2. 使用标准证书支持安装curl(不再需要Keychain证书).

    brew install curl --with-openssl && brew link curl --force

  3. http://curl.haxx.se/ca/cacert.pem安装根CA证书到/usr/local/etc/openssl/certs/cacert.pem

  4. 添加到〜/ .bash_profile中

    export CURL_CA_BUNDLE=/usr/local/etc/openssl/certs/cacert.pem

  5. 经过4个步骤后,您可以将curl与来自文件的证书一起使用,而不是使用Keychain.


bra*_*ipt 5

--cacert--cert在OSX小牛被打破.

您可以在此处详细了解:https://groups.google.com/forum/#!topic/munki-dev/oX2xUnoQEi4

解决方法如下:http://curl.haxx.se/mail/archive-2013-10/0036.html,表示您需要将证书作为受信任的系统证书导入:

使用Keychain Access将证书导入系统("系统")或用户("登录")钥匙串,并将其标记为始终信任SSL和X.509基本策略.