Eine kleine Beschreibung zur Erstellung eines lokalen Sicherheitszertifikates das für verschlüsselte Datenbewegungen (Stichwort: https) im Webbrowser benötigt wird.
Als erstes die Testumgebung
Folgende Serverkomponenten sollten installiert sein und bereits ihre gewünschte Funktion ausführen.
- Apache Webserver (mit OpenSSL Modul)
- mod_ssl 0.9.8r (aktuelleste Apache Version mit OpenSSL hier erhältlich)
- PHP 5.2.6 (aktuelle PHP Versionen sind hier zu bekommen)
- optional ein Datenbankserver, wie MySQL (hier erhältlich)
Der zweiten Schritt
Es wird in der httpd.conf des Apache Server das OpenSSL Modul "mod_ssl" aktiviert. Einfach folgende Zeile auskommentieren und den Server neu starten.
LoadModule ssl_module modules/mod_ssl.so
Drittens das Zertifikat erstellen
In der Windows Kommandozeile (cmd) das Verzeichnis mit der Apache Installation ansteuern und in den Unterordner "bin" wechseln.
- cd D:\Webserver\Apache2.2\bin
Dort wird die "openssl.exe" aktiviert und man kann beginnen ein neues Zertifikat anzulegen.
req -config ../conf/openssl.cnf -new -out ../conf/neues_zertifikat.csr
Nach Eingabe dieses Befehls muss ein Passwort (mindestens 4 Zeichen) zur Generierung des Sicherheitszertifikates festgelegt werden (dieses bitte aufschreiben oder merken).
Im Folgenden werden dann die benötigte Daten zum Zertifkat abgefragt.
- Country Name (2 letter code) [AU]:
- State or Province Name (full name) [Some-State]:
- Locality Name (eg, city) []:
- Organization Name (eg, company) [Internet Widgits Pty Ltd]:
- Organizational Unit Name (eg, section) []:
- Common Name (eg, YOUR name) []: 127.0.0.1
- Email Address []:Please enter the following 'extra' attributesto be sent with your certificate request
A challenge password []:
An optional company name []:
Im Prinzip kann hier alles frei gelassen werden bis auf "Common Name". Dort muss die Internet-Adresse der Seite rein, auf dem das Zertifikat verwendet wird. In meinem Beispiel kommt dort die Adresse des lokalen Pache Servers rein. Also: 127.0.0.1
Nachdem alle Daten drin sind, kommt diese Befehlszeile zur Anwendung.
x509 -in ../conf/neues_zertifikat.csr -out ../conf/neues_zertifikat.crt -req -signkey ../conf/neues_zertifikat.key -days 1800
Diese dient zur entgültigen Speicherung des neuen Zertifikates in Form einer Datei "neues_zertifikat.key" die sich nun im Ordner "Apache2.2\conf" befindet.
Sollte alles geklappt haben, kann nun mit folgender Adresse im Browser probiert werden, ob das Zertifikat wie gewünscht seinen Dienst tut.
- https://127.0.0.1
Das war es schon. Es sollte jetzt eine "sichere" Verbindung zur angeforderten Seite angelegt werden.
Viel Spaß damit.