WordPress Multisite mit selbstsignierten Zertifikaten

Wer die Administration von WordPress im Multisite-Modus mit selbstsignierten Zertifikaten betreibt, stößt eventuell auf das Problem, dass Updates von Jetpack nicht funktionieren.
Das liegt daran, dass WordPress schon seit geraumer Zeit SSL Zertifikate streng verifiziert.

Es gibt keine Konfigurationsmöglichkeit, um das abzuschalten, was für die meisten Anwender gut ist.
Für Leute, die selbstsignierte Zertifikate verwenden, ist das aber extrem lästig.

Da Leute, die selbstsignierte Zertifikate verwenden, in der Regel ausreichend Ahnung haben, sei hier kurz ein Patch veröffentlicht, mit dem man diese Verifikation global abschalten kann.

Global heißt wirklich global: Durch diesen Patch wird kein einziges Zertifikat mehr geprüft!

Die Option, SSL-Zertifikate zu verifizieren, wird in der Klasse WP_Http in der Datei wp-includes/class-http.php gesetzt. Die Klasse hat eine Methode request, in der zu Beginn ein Array mit dem Namen $defaults initialisiert wird. In diesem Array gibt es den Key 'sslverify', der mit dem Wert true initialisiert wird. Ändert man diese Initialisierung auf false, ist die Verifikation für SSL-Zertifikate abgeschalten.

Hier der Patch:

diff -Nur wp-includes.orig/class-http.php wp-includes/class-http.php
--- wp-includes.orig/class-http.php     2013-11-02 20:13:38.000000000 +0100
+++ wp-includes/class-http.php  2013-12-28 18:45:24.900418576 +0100
@@ -80,7 +80,7 @@
                        'body' => null,
                        'compress' => false,
                        'decompress' => true,
-                       'sslverify' => true,
+                       'sslverify' => false,
                        'sslcertificates' => ABSPATH . WPINC . '/certificates/ca-bundle.crt',
                        'stream' => false,
                        'filename' => null,

Den Patch habe ich hier veröffentlicht, weil ich öfters danach gefragt werde.
Empfehlen möchte ich die Verwendung eines verifizierbaren Zertifikates mit korrekter Domain.

Referenzen

Ein Kommentar bei „WordPress Multisite mit selbstsignierten Zertifikaten

  1. Moin,

    hatte gerade dasselbe Problem beim installieren von PlugIns und der Verifikation des eignenen SSL-Zertifikats.
    Deine Lösung funktioniert wunderbar, also für schnell mal ein PlugIn auf einem nicht-produktivsystem installieren ist in Ordnung, aber ansonsten eher nicht zu empfehlen.
    Ich hab‘ während der Suche für das Problem Folgende Lösung gefunden:
    WP nutzt die Datei von Mozilla in /wp-includes/certificates/ca-bundle.crt
    Diese Datei einfach mit einem beliebigen Texteditor öffnen und dort das eigene Zertifikat ans Ende kopieren und schon meckert WP nicht mehr.

    Gruß,
    Tom

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.