2013-10-24 316 views
4
相关的未知SSL协议错误

我将我的mac OS更新至OS X 10.9。
OS X 10.9/Apache 2.2.24/PHP 5.4.17 当试图通过cURL连接到我们的远程服务器时,现在出现错误(未知SSL协议错误连接到...)。Mac OS X 10.9与

DEFINE("SSL_CERTTYPE", "PEM"); 
DEFINE("SSL_KEYPASS", "xxxxxxxxx"); 
DEFINE("SSL_CERT", $_SERVER['DOCUMENT_ROOT']."/certs/mycert.pem"); 
DEFINE("SSL_KEY", $_SERVER['DOCUMENT_ROOT']."/certs/mycert.key"); 

$options = array 
(
    CURLOPT_URL   => $url, 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_HEADER   => false, 
    CURLOPT_FOLLOWLOCATION => false, 
    CURLOPT_VERBOSE  => false, 
    CURLOPT_SSL_VERIFYHOST => false, 
    CURLOPT_SSL_VERIFYPEER => false, 
    CURLOPT_SSLCERT  => SSL_CERT, 
    CURLOPT_SSLKEY   => SSL_KEY, 
    CURLOPT_SSLKEYPASSWD => SSL_KEYPASS, 
    CURLOPT_SSLCERTTYPE => SSL_CERTTYPE, 
); 

我曾尝试将SSLVERSION设置为2和3,但仍然出现错误。

不确定这是Apache还是PHP问题。任何指导将不胜感激。 *还值得注意的是,这是在更新之前的10.8版本中工作。

+0

我的解决方法是使用brew安装php55并使用随附的内置web服务器。我想这也适用于php54。 – user857276

+0

对于其他可能遇到此问题的人,我最终升级了php的版本: 'curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5' 来自这个网站的说明:[link](http://www.coolestguidesidesheenetnet.com/upgrade-to-php-5-4-or-5-5-mac-osx-10-8-mountain -狮子/) – user857276

回答

3

这实际上与卷曲的事:http://curl.haxx.se/mail/archive-2013-10/0036.html

显然,苹果公司的OpenSSL搬到里面好像有客户端证书的碎卷发的处理(如果需要,可以连接)自己的安全传输协议。我迄今为止发现的唯一解决方法是删除客户端证书要求,这不幸并不理想。

- 更新 -

看样子你应该能够使用钥匙串访问得到这个工作,仿佛,但我一直没能迄今。