2012-09-18 105 views
0

突然間,我通過SSL訪問網站的PHP cURL實現停止工作。在捲曲響應頭一些周圍挖掘後,我發現,這個問題的捲曲不喜歡的網站的SSL證書,給錯誤的結果:cURL停止爲HTTPS網站工作

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

現在我沒有與其他網站進行測試,我知道有將Mozilla的證書添加到cURL的解決方案。但爲了讓東西起作用,我只是添加了一個新的cURL選項來禁用SSL有效性檢查(CURLOPT_SSL_VERIFYHOS)。

但我仍然困惑,這將如何在一天內停止工作。它昨天有效。網站上的證書沒有變化,它仍然是一個有效的,未過期的,Verisign頒發的證書。

+0

那麼一定有什麼改變?也許給一些關於PHP/curl版本和操作系統的信息。我會再次拿到CA證書,你的證書包可能是洗腦的東西。良好的資源:http://curl.haxx.se/docs/sslcerts.html – ficuscr

回答

0

過這種情況給我上個月爲好,唯一的原因是有問題的SSL證書過期。所以我只是更新了它,並且curl ssl鏈接再次運行。如果您碰巧處理自簽名證書,則這是同樣的交易順序,您可以導入它或切換驗證。

這是我唯一能想到的事情,但你說你已經證實了......奇怪。是否有機會窺視該網站的證書或是私密的?如果你沒有改變任何東西,幾乎可以肯定的是,SSL證書發生了什麼。

0

嘗試在捲曲
CURLOPT_SSL_VERIFYPEER這兩個選項,FALSE
CURLOPT_SSL_VERIFYHOST,2