PHP Problem mit dem SSL-CA-Zertifikat (Pfad? Zugriffsrechte?)

Lesezeit: 4 Minuten

Ich bekomme diesen Fehler:

“Problem mit dem SSL-CA-Zertifikat (Pfad? Zugriffsrechte?)”

Beim Tun:

$curl = curl_init('https://example.com' . ($method == 'GET' && $params ? '?' . $params : ''));

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); 
$response = curl_exec($curl);

print curl_error($curl)

Funktioniert auf einem anderen Server einwandfrei.

Das SSL verwendet NSS. PHP5.3.6

  • Ähnlich wie bei dieser Frage: stackoverflow.com/questions/26099849/…

    – Martin

    29. September 2014 um 14:54 Uhr

  • Ich weiß, dass dies eine etwas alte Frage ist, aber könnten Sie eine “richtige Antwort” auswählen?

    – Gillytech

    12. November 2015 um 23:51 Uhr

  • Ich habe bereits ausgewählt, was für mich funktioniert hat.

    – Adam Jiménez

    13. November 2015 um 7:43 Uhr

Wäre dies auf zwei Servern passiert, die die PayPal-IPN verwenden, beide ungefähr zur gleichen Zeit.

Fix war, Apache neu zu starten.

  • Wäre es auch passiert. Es war ein automatisches Update passiert, das eine neue /etc/pki/nssdb/pkcs11.txt erstellt (und die alte nach /etc/pki/nssdb/pkcs11.txt.rpmnew verschoben hat). Dateiinhalte waren die gleichen. Es gab keine Warnungen oder andere Informationen in den Protokollen. Ich habe keine Ahnung, ob das automatische Update der Übeltäter war. Wie auch immer, ein Neustart von php-fpm hat das Problem gelöst.

    – Sergio Carvalho

    29. September 2014 um 13:30 Uhr


  • Erwähnenswert für mich zumindest, dass ein einfacher, anmutiger Neustart von Apache nicht ausreichte. Ich musste den Dienst neu starten (dh service httpd restart). Ich bin mir nicht sicher, warum das den Unterschied gemacht hat, aber es tat es.

    – Johno

    29. September 2014 um 15:19 Uhr

  • Für diejenigen, die nginx + php-fpm unter CentOS verwenden: sudo service php-fpm restart sollte den Trick machen

    – Oleg

    10. Oktober 2014 um 8:07 Uhr


  • Ich kann bestätigen, dass mir das auch geholfen hat. Nachdem ich versucht hatte herauszufinden, warum cURL in PHP auf der CLI, aber nicht in Apache funktioniert, wurde das Problem durch einen einfachen Apache-Neustart behoben. RHEL 6.5.

    – dotancohen

    20. Oktober 2014 um 9:43 Uhr

  • War dies für jemanden erfolgreich, der einen Jetty-Server betreibt?

    – Janac Meena

    8. Juli 2016 um 18:25 Uhr

Wenn Sie “Problem mit dem SSL-CA-Zertifikat (Pfad? Zugriffsrechte?)” erhalten, kann dies sehr wohl bedeuten, dass Sie entweder alles aus gelöscht haben /etc/pki/tls/certs/ oder ungültige Berechtigungen gesetzt haben (CHMOD).

Wenn Sie RHEL/CentOS verwenden, versuchen Sie es yum reinstall openssl ca-certificates -y

  • Dies, kein Neustart / Neustart hat mir geholfen.

    – Erik Aronesty

    4. Mai 2015 um 7:29 Uhr

  • Und wahrscheinlich apt-transport-https zu

    – Jonathan

    2. September 2016 um 22:46 Uhr

Gerade auf PHP 5.5.17 aktualisiert und da fingen die Probleme an. Der Server führt PayPal-Transaktionen aus und cURL schlägt bei diesem Fehler fehl: „Problem mit dem SSL-CA-Zertifikat (Pfad? Zugriffsrechte?)“.

Ich habe versucht, die Zertifikate neu zu generieren und die Curl-Optionen zu ändern, nichts hat mich irgendwohin gebracht. Die Lösung bestand darin, den Server einfach neu zu starten (CentOS 6.5 in meinem Fall). Hoffe, das hilft jemandem.

  • Ich stimme zu; Ein Neustart des Servers hat das Problem auch für mich behoben 🙂

    – Dreher

    24. November 2014 um 12:10 Uhr

Benutzer-Avatar
Pavel Jiri Strnad

Es passiert mir nach dem Update von Paketen.

Nachdem ich den Apache neu gestartet hatte, wurde es behoben.

Dann habe ich es auf dem Produktionsserver installiert und ich habe es wieder bekommen. Diesmal war es Chaos bei den Zertifikaten unter /etc/pki/tls/certs/

Sichern Sie die Dateien und dieser Befehl behebt das Problem:

curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt

Benutzer-Avatar
Adam Jimenez

hat es funktioniert, indem Sie die nssdb umbenannt haben:

mv /etc/pki/nssdb /etc/pki/nssdb.old

  • Diese Lösung hat bei mir aus irgendeinem Grund nicht funktioniert. Es scheint, als ob das Problem durch ein Upgrade von libcurl verursacht wurde. In meinem Fall möchte ich überhaupt keine Validierung, aber ich kann anscheinend nicht in der Lage sein, das Ganze zu deaktivieren. Hat jemand andere Vorschläge?

    – Greg

    28. Februar 2013 um 11:30 Uhr

Benutzer-Avatar
kenorb

Unter Ubuntu müssen Sie CA-Zertifikate installieren, damit SSL-basierte Anwendungen die Authentizität von SSL-Verbindungen überprüfen können, indem Sie:

sudo apt-get install ca-certificates

Siehe: cURL funktioniert nicht (Fehler #77) für SSL-Verbindungen

  • Diese Lösung hat bei mir aus irgendeinem Grund nicht funktioniert. Es scheint, als ob das Problem durch ein Upgrade von libcurl verursacht wurde. In meinem Fall möchte ich überhaupt keine Validierung, aber ich kann anscheinend nicht in der Lage sein, das Ganze zu deaktivieren. Hat jemand andere Vorschläge?

    – Greg

    28. Februar 2013 um 11:30 Uhr

1145170cookie-checkPHP Problem mit dem SSL-CA-Zertifikat (Pfad? Zugriffsrechte?)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy