Lösen von SSL/TLS-Handshake-Problemen mit cURL
Auftreten des berüchtigten cURL-Fehlers 35: „Irgendwo im SSL/TLS-Handshake ist ein Problem aufgetreten „kann frustrierend sein. Diese Fehlermeldung weist auf Schwierigkeiten beim Aufbau einer sicheren Verbindung bei HTTPS-Anfragen hin, obwohl cURL einwandfrei mit HTTP-Protokollen funktioniert.
Ein häufiger Lösungsversuch besteht darin, CURLOPT_SSL_VERIFYPEER auf „false“ zu setzen, was sich jedoch als wirkungslos erweist. Der Schlüssel zur Lösung dieses Problems liegt jedoch in der Bereitstellung der erforderlichen Zertifizierungsstelleninformationen für cURL.
Im Gegensatz zu modernen Browsern verfügt cURL nicht über integrierte Stammzertifikate. Um bei SSL-Verbindungen empfangene Zertifikate zu überprüfen, ist ein expliziter Pfad zu einer cacerts.pem-Datei erforderlich. Diese Datei enthält Stammzertifikate, die es cURL ermöglichen, dem Zertifikat des Servers zu vertrauen.
Um cURL korrekt zu konfigurieren, befolgen Sie diese Schritte:
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');
Durch die Bereitstellung dieser Datei kann cURL das überprüfen Serverzertifikat und stellen Sie eine sichere HTTPS-Verbindung her. Die Datei cacerts.pem kann von der offiziellen cURL-Dokumentationswebsite bezogen werden.
Denken Sie daran, dass diese Datei für alle nachfolgenden über cURL hergestellten SSL-Verbindungen verwendet werden kann, was den Einrichtungsprozess vereinfacht.
Das obige ist der detaillierte Inhalt vonWie behebt man den cURL-Fehler 35: „Beim SSL/TLS-Handshake ist ein Problem aufgetreten'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!