SSL-Zertifikate
Inhaltsverzeichnis
Übersicht zum Thema SSL-Zertifikate
Es gibt zwei Möglichkeiten, wie man zu einem SSL-Zertifikat kommt.
- Offizielle Zertifizierungsstelle CA
- Eigene Zertifizierungsstelle CA
- Um verschlüsselte Verbindung im Internet für Kunden anzubieten,
sollte man ein Zertifikat bei einer offiziellen Zertifizierungsstelle kaufen.
Das verhindert, dass der Kunden, der die Seite aufruft, Mmeldungen über ein Fehlerhaftes Zertifikat erhält. - Um verschlüsselte Verbindungen im internen Bereich anzubieten, kann amn sich die jährlichen Kosten für das offizielle Zertifikat sparen,
wenn eine eigene Zertifizierungsstelle installiert wird. Dies ist unter Windows, wie auch unter Linux (sihe unten) möglich.
Eigene CA
Eine eigene CA zu installieren, gibt es unter Linux, wie immer, viele Möglichkeiten:
- [TinyCA]
- OpenSSL
In diese Doku wird auf die CA mittels OpenSSL eingegangen.
Installation
aptitude openssl
Verzeichnisse
- Konfiguration: /etc/ssl/
- Hilfs-Script: /usr/lib/ssl/misc/CA.sh
- In der Datei /etc/ssl/openssl.cnf können Anpassungen für die eigene CA vorgenommen werden:
[ CA_default ] dir = ./MY-CA # Where everything is kept . . . default_days = 3650 # how long to certify for . . . countryName = Country Name (2 letter code) countryName_default = DE
Wie hier zu sehen, kann jeder Wert der bei der Erstellung des Zertifikates abgefragt wird, mit einem Defaultwert vorbelegt werden.
Dazu wird in einer zweiten Zeile hinter den Wert (z.B. countryName) ein _default gesetz und mit eigenem Inhalt gefüllt.
OpenSSL bringt das Script CA.sh und CA.pl mit. Die Scripte sind gleich.
- Setzt man folgenden Link auf dieses Script, kann es von überall aufgerufen werden:
ln -s /usr/lib/ssl/misc/CA.sh /usr/sbin
CA erstellen
# CA.sh -newca
- Es folgen nun abfragen zu den Eigenschalften der CA.
- Nach eingabe einer Phassphrase für die CA wird die CA im aktuellen Verzeichnis erstellt
Server-Zertifikat erstellen
Server-Request
# openssl req -newkey rsa:1024 -nodes -keyout newreq.pem -out newreq.pem
Hier müssen wieder Angaben zum Zertifikt gemacht werden.
WICHTIG: Es muss beim -Common Name (eg, YOUR name)- der Servername mit Domain angegeben werden.
Server-Request mit CA Zertifizieren
# CA.sh -sign
Mit diesem Befehl wird das Server-Zertifikat von der CA unterschrieben.
Extrahieren der Phassphrase aus dem Request
# openssl rsa -in newreq.pem -out Server01key.pem
Danach kann das Zertifikat newcert.pem in Server01cert.pem umbenannt werden,
so dass man später noch weiss, für welchen Server dass Zertifikat erstellt wurde.
# mv newcert.pem Server01cert.pem
Offizielle CA
ToDo