Beim Versuch, mit cURL eine Anfrage an eine URL zu senden, die SSL erfordert, wird eine Fehlermeldung mit dem Hinweis „selbstsigniert“ angezeigt Es kann ein „Zertifikat in der Zertifikatskette“ auftreten.
Dieser Fehler tritt auf, weil cURL das vom Remote-Server vorgelegte SSL-Zertifikat nicht überprüfen kann. Dies kann passieren, wenn das Zertifikat selbstsigniert ist, also nicht von einer vertrauenswürdigen Zertifizierungsstelle (CA) ausgestellt wurde.
Um dieses Problem zu beheben, können Sie die SSL-Zertifikatsüberprüfung von cURL manuell deaktivieren. Dies wird jedoch nicht empfohlen, da es die Sicherheit Ihrer Anwendung gefährden kann.
Stattdessen sollten Sie sicherstellen, dass die von cURL verwendete PHP-Installation über ein gültiges Paket von CA-Stammzertifikaten verfügt. Dieses Paket wird von cURL verwendet, um die Authentizität des SSL-Zertifikats des Servers zu überprüfen.
Sie können ein aktuelles CA-Stammzertifikatspaket hier herunterladen: http://curl.haxx.se/docs/ caextract.html
Konfigurieren Sie PHP nach dem Herunterladen für die Verwendung des Bundles, indem Sie die Option „curl.cainfo“ in php.ini auf den absoluten Pfad des Zertifikats setzen Datei.
curl.cainfo = <absolute_path_to>/cacert.pem
Alternativ können Sie das CA-Zertifikat zur Laufzeit mit der Option CURLOPT_CAINFO konfigurieren:
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
Durch die Bereitstellung eines gültigen CA-Stammzertifikatpakets kann cURL dies überprüfen das SSL-Zertifikat des Servers und stellen Sie eine sichere Verbindung her.
Das obige ist der detaillierte Inhalt vonWie behebt man den cURL-Fehler 60: Probleme mit dem SSL-Zertifikat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!