Die nachfolgende Anleitung basiert im wesentlichen auf der Anleitung von Port25 aus dem Hause Microsoft. Allerdings mit ein paar kleineren Aktualisierung und auf deutsch.
Es geht darum, wie man Apache mit SSL konfiguriert und ein selbstsigniertes Zertifikat erstellt.
Zum Einsatz kommt der Apache Webserver von Apache Lounge in der Version 2.2.21 + openssl-1.0.0e (Der erste Download-Link auf der Seite). Je nach Windows-Version sollte man die 32- oder 64-bit-Version herunterladen. Letztere gibt es nur mit openssl-1.0.0.e.
Diese Anleitung ist zwar für Windows geschrieben, die Befehle funktionieren prinzipiell auch unter Linux. Allerdings sind dann die Pfade anders und getestet habe ich es nicht.
Vorbereitung
- Den Ordner “C:\OpenSSL-1.0.0.e\ssl” anlegen.
Hinweis: Nutzt man die 32-bit-Version mit openssl-0.9.8r muss auf jeden Fall der Pfad angepasst werden!
- Die Datei “C:\Apache2\conf\openssl.cnf” nach “C:\OpenSSL-1.0.0e\ssl” kopieren.
Nachfolgende Befehle in einer Eingabeaufforderung im Ordner “C:\Apache2\bin\” ausführen.
set RANDFILE=C:\OpenSSL-1.0.0e\ssl\.rnd
Dieser Befehl ist notwendig, um die Fehlermeldung “unable to write ‘random state'” zu beseitigen.
Privaten Schlüssel erzeugen
openssl.exe genrsa -des3 -out server.key 1024
Zur Absicherung muss eine Passphrase festgelegt werden.
Gut merken, denn diese Passphrase wird später wieder benötigt.
Öffentlichen Schlüssel erzeugen
openssl.exe rsa -in server.key -out server.pem
Es muss die Passphrase für den privaten Schlüssel eingegeben werden.
Zertifikatsanforderung (CSR, Certificate Signing Request) erzeugen
openssl.exe req -new -key server.key -out server.csr
Wieder die Passphrase des privaten Schlüssels eingeben.
Ferner folgenden Angaben machen:
- Country Name: LAND
- State: BUNDESLAND
- Locality Name: STADT
- Organization Name: FIRMA
- Organizational Unit Name: ABTEILUNG
- Common Name: FQDN (die Adresse/URL, z.B. localhost)
- Email Address: E-MAIL-ADRESSE (kann leer bleiben)
- A challenge password: LEER
- An optional company name: LEER
Selbstsigniertes Zertifikat erzeugen
openssl.exe x509 -req -days 30 -in server.csr -signkey server.key -out server.crt
Die Gültigkeit des Zertifikats wird über “-days 30”, in diesem Fall 30 Tage, festgelegt.
Es muss wieder die Passphrase des privaten Schlüssels eingeben werden.
Zertifikat installieren
- Die Dateien “server.crt” und “server.pem” nach “C:\Apache2\conf” kopieren.
- Die Datei “C:\Apache2\conf\httpd.conf” editieren und wie folgt abändern:
Loadmodule ssl_module modules/mod_ssl.so (Zeile 121, # entfernen)
Include conf/extra/httpd-ssl.conf (Zeile 483, # entfernen)
- Die Datei “C:\Apache2\conf\extra\httpd-ssl.conf” editieren und wie folgt abändern:
SSLCertificateKeyFile "C:\Apache2\conf\server.pem" (Zeile 107)
- Apache neu starten.
Nun sind die Inhalte des Apache Webserver via
https://URL
erreichbar.
Da es sich um ein selbstsigniertes Zertifikat handelt, erhält man vom Browser eine Warnung.
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Schreibe einen Kommentar