Hallo,
du gibst im letzten Schritt eine openssl.cfg an, die scheinbar nicht existiert. Die ist bei normalen Zertifikaten auch nicht notwendig. Die wird benötigt wenn du die Werte beim Erstellen der Zertifikate schon vorausgefüllt haben möchtest oder spezielle Parameter im Zertifikat benötigst (z.B. Zertifikate für spezielle VPN-Varianten).
Ich persönlich verwende immer diese Anleitung:
http://www.online-tutorials.net/securit ... el-openvpnAusgehend davon, dass sich die openssl.exe im aktuellen Verzeichnis befindet (und die ganzen Dateien im Ordner darunter erzeugt werden) kannst du das ganze so machen:
- Code: Select all
echo 01 > ../serial.txt
openssl genrsa -aes256 -out ../ca.key 4096
openssl req -new -x509 -days 3650 -key ../ca.key .out ../ca.crt -set_serial 1
openssl req -new -newkey rsa:4096 -out ../server.csr -nodes -keyout ../server.key -days 365
openssl x509 -req -in ../server.csr -out ../server.crt -CA ../ca.crt -CAkey ../ca.key -CAserial ../serial.txt -days 365
Der erste Befehl erstellt eine serial.txt mit dem Inhalt 01. Die wird von OpenSSL benötigt und sollte nicht gelöscht oder geändert werden, sofern du die CA produktiv einsetzen willst (z.B. im Intranet).
Der zweite Befehl erzeugt den Schlüssel für die CA mit 4096 bits, dieser Schlüssel und das dazugehörige Passwort ist heilig - damit kann jeder Zertifikate in deinem Namen ausstellen! Der Dritte Befehl erzeugt mit diesem Schlüssel das Zertifikat für die CA mit einer gültigkeit von 10 Jahren (Die Daten die du dabei einträgst sind nicht übermäßig wichtig). Dieses Zertifikat solltest du im Browser installieren, damit werden dann alle Tochterzertifikate (also die, die du für Server erstellst usw.) als gültig anerkannt.
Der vierte Befehl erzeugt zwei Dateien, einmal die server.key und die server.csr. Bei diesem Befehl ist vor allem die Abfrage nach Common Name wichtig. Dort muss unbedingt die URL eingetragen werden, die geschützt werden soll. example.com schützt
https://example.com,
http://www.example.com schützt
https://www.example.com! Außerdem darf bei challenge Password NICHTS eingegeben werden, sonst kann der Apache nicht automatisch starten!
In der server.key steht der private Schlüssel für den Server drin, in der server.csr die Zertifikatsanforderung. Diese Datei könntest du auch bei einem Zertifikatsdienst abgeben und gegen Geld würdest du dann ein offiziell signiertes Zertifikat erhalten. Dann würdest du allerdings nur diesen Schritt benötigen.
Der letzte Befehl erzeugt dann ein selbs signiertes Zertifikat (server.crt) aus der server.csr. Hier musst du das Passwort aus dem ersten Schritt eingeben. Im Apachen einbinden musst du dann die server.crt und die server.key.
Ich persönlich verwende überall 4096 bittige Zertifikate, du kannst allerdings auch weniger nehmen, wenn du einen arg schwachen Webserver hast. Unter 2048 solltest du allerdings nicht gehen, da das aktuell auch das unterste Limit bei den meisten Zertifizierungsstellen ist.
mfg glitzi