Fehlerbehebung bei SSL/TLS-Handshake-Fehlern in cURL
Wenn Sie cURL verwenden, um sichere Verbindungen mithilfe von SSL/TLS-Protokollen herzustellen, kann der Fehler auftreten Meldung „Irgendwo beim SSL/TLS-Handshake ist ein Problem aufgetreten.“ Dies weist auf ein Problem während des Authentifizierungs- und Verschlüsselungsprozesses zwischen cURL und dem Remote-Server hin.
Obwohl gängige Lösungen wie das Deaktivieren der SSL-Überprüfung (CURLOPT_SSL_VERIFYPEER) und das Festlegen des CA-Zertifikats (CURLOPT_CAINFO) versucht wurden, besteht das Problem weiterhin.
Lösung:
Die Hauptursache dieses Problems liegt im Fehlen integrierter Stammzertifikate von cURL. Die meisten modernen Browser enthalten Stammzertifikate, cURL erfordert jedoch einen expliziten Pfad zu einer Datei einer vertrauenswürdigen Zertifizierungsstelle (CA) mit dem Namen „cacert.pem“.
Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');
Diese CA-Datei enthält vertrauenswürdige Stammzertifikate, die es cURL ermöglichen, das Zertifikat des Servers während des SSL/TLS-Handshakes zu überprüfen. Ohne diese Datei schlägt der Verifizierungsprozess fehl, was zur Handshake-Fehlermeldung führt.
Nach Abschluss dieser Schritte sollten Sie in der Lage sein, sichere HTTPS-Verbindungen mit cURL herzustellen.
Das obige ist der detaillierte Inhalt vonWie behebt man Fehler in cURL, bei denen „irgendwo beim SSL/TLS-Handshake ein Problem aufgetreten ist'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!