2013-10-24 672 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搬到裏面好像有客戶端證書的碎捲髮的處理(如果需要,可以連接)自己的安全傳輸協議。我迄今爲止發現的唯一解決方法是刪除客戶端證書要求,這不幸並不理想。

- 更新 -

看樣子你應該能夠使用鑰匙串訪問得到這個工作,彷彿,但我一直沒能迄今。