首頁  >  文章  >  後端開發  >  使用 HTTPS 時,為什麼 cURL 會拋出「SSL/TLS 握手中某處出現問題」錯誤?

使用 HTTPS 時,為什麼 cURL 會拋出「SSL/TLS 握手中某處出現問題」錯誤?

Patricia Arquette
Patricia Arquette原創
2024-10-29 21:58:03563瀏覽

  Why is cURL Throwing

錯誤:使用cURL「SSL/TLS 握手中的某處出現問題」

在cURL 領域,使用者可能會遇到神秘的錯誤訊息:「SSL/TLS 握手中的某處出現問題。」當cURL 在透過HTTPS 建立安全連線時遇到困難時,就會出現這個令人困惑的問題。

問題

所提供的上下文揭示了開發人員的困境,cURL 可以完美地處理HTTP 請求,但會出現問題當遇到HTTPS 時,即使使用不同的協定定位相同的資源。 cURL 的錯誤回應(代碼 35)指向 SSL/TLS 握手中的問題。

嘗試失敗

開發人員精心探索了潛在的解決方案,包括停用憑證SSL 憑證驗證(CURLOPT_SSL_VERIFYPEER) 並嘗試下載和設定憑證機構(CA) 憑證授權單位(CA) 憑證授權單位(CA) 憑證授權單位(CA) 憑證授權單位(CA) 憑證授權單位(CA) (CURLOPT_CAINFO)。然而,這些努力被證明是徒勞無功的。

解決方案

經過深入研究這個問題,我們的專家發現 cURL 缺乏內建根證書。要修正此問題,開發人員必須明確將 cURL 導向至受信任的 CA 憑證檔案 (cacert.pem)。透過使用 CURLOPT_CAINFO 指定該檔案的路徑,cURL 可以驗證遠端伺服器提供的 SSL 憑證的真實性。

可以從信譽良好的來源取得 cacert.pem 文件,例如官方 cURL 文件(http://curl.haxx.se/docs/caextract.html)。透過合併此證書,cURL 可以建立安全連線並檢索要求的 HTTPS 資源。

以上是使用 HTTPS 時,為什麼 cURL 會拋出「SSL/TLS 握手中某處出現問題」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn