Fehlerbehebung

So beheben Sie den SSL-Zertifikatsfehler cURL 60 in WordPress

Geprüft am 6 Min. Lesezeit wordpress errores ssl

Wenn Sie WordPress aktualisieren, ein Plugin installieren oder eine Verbindung zu einem externen Dienst herstellen, kann eine Meldung wie diese erscheinen:

Error en la actualización: Descarga fallida. cURL error 60: SSL certificate problem

Der Fehler bedeutet, dass PHP oder cURL die Vertrauenskette des Zertifikats, das der entfernte Server vorlegt, nicht prüfen konnte. Er bedeutet nicht unbedingt, dass das Zertifikat Ihrer eigenen Website abgelaufen ist.

Mögliche Ursachen, die Sie prüfen sollten

Die Meldung passt zu mehreren Szenarien, erlaubt aber ohne weitere Tests nicht, sich für eines zu entscheiden:

  • Eine alte WordPress-Version mit einem veralteten Paket von Zertifizierungsstellen.
  • Der Zertifikatsspeicher des Betriebssystems oder von PHP ist veraltet oder falsch konfiguriert.
  • Datum und Uhrzeit des Servers stimmen nicht.
  • Das Zertifikat des entfernten Servers ist abgelaufen, passt nicht zu seiner Domain oder liefert die Zwischenzertifikatskette nicht vollständig aus.
  • Ein Proxy, Virenscanner, eine Firewall oder ein Sicherheits-Plugin fängt die HTTPS-Verbindung ab.

Deaktivieren Sie die SSL-Prüfung nicht

Verwenden Sie keine Filter, die https_ssl_verify auf false setzen.

Wenn Sie die Prüfung deaktivieren, akzeptiert WordPress nicht vertrauenswürdige Zertifikate, was Man-in-the-Middle-Angriffe erleichtert. Außerdem verdeckt es die eigentliche Ursache und kann andere Verbindungen über die HTTP-API von WordPress betreffen, wenn der Filter allgemein greift.

1. Prüfen Sie das Datum und die fehlerhafte URL

Lesen Sie die vollständige Meldung, um die entfernte Domain zu ermitteln. Tritt der Fehler beim Aktualisieren von WordPress auf, geht die Verbindung normalerweise an api.wordpress.org oder downloads.wordpress.org. Tritt er nur bei einem bestimmten Plugin auf, kann er den externen Dienst dieses Plugins betreffen.

Prüfen Sie auch, ob Datum, Uhrzeit und Zeitzone des Servers stimmen. Eine deutliche Abweichung kann ein gültiges Zertifikat als abgelaufen oder noch nicht gültig erscheinen lassen.

2. Aktualisieren Sie WordPress, PHP und die Zertifikate

Bevor Sie die Konfiguration ändern:

  1. Erstellen Sie ein Backup.
  2. Aktualisieren Sie WordPress auf eine kompatible und gepflegte Version.
  3. Aktualisieren Sie die betroffenen Plugins und Themes.
  4. Prüfen Sie, ob Ihre PHP-Version noch Support erhält.

WordPress bringt ein eigenes Zertifikatspaket in wp-includes/certificates/ca-bundle.crt mit. Ersetzen Sie nicht nur diese Datei durch eine aus unbekannter Quelle heruntergeladene: Aktualisieren Sie den gesamten Core, damit alle Dateien zur selben Version gehören.

3. Prüfen Sie die Zertifikatskonfiguration von PHP

In den PHP-Informationen können Sie die Werte von curl.cainfo und openssl.cafile prüfen. Sind sie gesetzt, müssen sie auf eine vorhandene, lesbare und aktuelle Zertifikatsdatei zeigen.

Per SSH können Sie die Verbindung auch prüfen, ohne eine Validierung zu deaktivieren:

curl -Iv https://api.wordpress.org/

Testen Sie genau die URL aus der Fehlermeldung. Zeigt der Befehl denselben Fehler, prüfen Sie den Zertifikatsspeicher des Servers und die vom Ziel ausgelieferte Kette. Funktioniert er in der Konsole, schlägt aber in WordPress fehl, bedenken Sie, dass die Konsole einen anderen Speicher verwenden kann: Prüfen Sie die Konfiguration der PHP-Version, die die Website ausführt, und protokollieren Sie die Anfrage aus WordPress, bevor Sie sie einem Plugin zuschreiben.

4. Schließen Sie Störungen durch Plugins und Proxys aus

Nur wenn das Protokoll oder die Konfiguration auf ein mögliches Abfangen hindeuten, deaktivieren Sie vorübergehend und kontrolliert die Sicherheits- oder Proxy-Plugins, die ausgehende Anfragen verändern können. Wiederholen Sie dieselbe Anfrage vorher und nachher; das veränderte Ergebnis ist der brauchbare Beleg. Führen Sie diesen Test nicht in der Produktion ohne Backup und Wartungsfenster durch.

Wenn Sie einen Unternehmens-Proxy oder einen Virenscanner verwenden, der HTTPS untersucht, muss dessen Zertifizierungsstelle korrekt im von PHP verwendeten Speicher installiert sein.

5. Wenden Sie sich an den Anbieter, wenn der Server betroffen ist

Wenn Sie den Server nicht selbst verwalten, geben Sie dem Anbieter die entfernte URL, die vollständige Meldung, die Uhrzeit des Tests und die PHP-Version. Er kann das Zertifikatspaket, die Konfiguration von cURL/OpenSSL und ein mögliches Abfangen ausgehender Verbindungen prüfen.

Die richtige Lösung besteht darin, eine gültige Vertrauenskette wiederherzustellen. Die SSL-Prüfung zu deaktivieren, sollte nicht einmal als vorübergehende Lösung eingesetzt werden.

Wenn sich auch das Update nicht herunterladen lässt

Erzwingen Sie den Download nicht ohne gültiges TLS. Wenn Sie den Core manuell aktualisieren müssen, verwenden Sie die offizielle Distribution, sichern Sie zuerst eine Kopie und folgen Sie einem Update-Verfahren, das zur installierten Version passt. Eine Neuinstallation derselben Version und ein Update sind nicht dieselbe Operation.

Entfernen Sie Tokens und private Parameter, wenn Sie die fehlerhafte URL weitergeben. Ein erfolgreiches curl von Ihrem Computer prüft nicht den Zertifikatsspeicher des Hostings; führen Sie den Test in der Umgebung durch, in der der Fehler auftritt, und unterscheiden Sie immer zwischen CLI und Web-PHP.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.