Signiertes SSL Zertifikat erstellen

Nachdem ich jetzt glücklicher Besitzers eines Raspberry Pi Mini-Rechners bin, nehme ich mir auch öfter einmal die Zeit um damit herum zu spielen. Für’s erste habe ich jetzt einen HTTP Server installiert und mit einem SSL Zertifikat versehen, um eine sichere Kommunikation zu ermöglichen. Für Euch liebe Leser und natürlich auch für mich, wenn das Zertifikat in einem Jahr abläuft, schreibe ich diese kleine Anleitung wie ich das Zertifikat erstellt habe.

Als Erstes muss man einen Certificate Signing Request erstellen. Dies kann man (in meinem Fall) unter Raspbian und openssl mit folgendem Befehl:

openssl req -new -newkey rsa:4096 -nodes -out server.csr -keyout server.key -subj "/C=DE/ST=EuerBundesland/L=BeiEuchDaheim/O=EuerName/CN=EuereDomain"

Natürlich kann man auch nur einen 2048bit Schlüssel erzeugen, ich hab einfach einmal mit der Einstellung gespielt. Ergebnis ist eine Datei server.csr, die Certificate Signing Request und der passende private Schlüssel server.key. Die privaten Schlüssel sind unter Raspbian im Verzeichnis /etc/ssl/private untergebracht. Also mit sudo dorthin kopieren und mit einem chmod 600 für andere unlesbar machen.

Als nächstes habe ich mich bei CAcert angemeldet. Dies ist eine Community, über die man seine selbst erstellten Zertifikate signieren lassen kann. Das Root Zertifikat ist freilich nicht in allen Browsern oder Betriebssystemen vorhanden, aber man kann diese ja von Hand hinzufügen und auch als vertrauenswürdig einstufen. Damit kann man eine gewisse Vertrauensstellung schaffen, die für den Heimanwender sicherlich ausreichend ist. Auf der Seite muss man sich zunächst anmelden und seine Domain freischalten lassen. Danach kann man den Inhalt der server.csr Datei in ein Textfeld pasten und bekommt das signierte Zertifikat angezeigt. Der private Schlüssel ist und bleibt natürich auf dem Raspberry Pi!

Das Zertifikat wird dann heruntergeladen und unter /etc/ssl/certs als server.pem abgespeichert. Noch schnell die Konfiguration der Apache Site default-ssl angepasst, auf den privaten Schlüssel und das Zertifikat verwiesen und fertig! Für den Zugriff muss man dann noch die CAcert Root Zertifikate im Browser (bzw. unter MacOSX im Schlüsselbund) als vertrauenswürdige Zertifizierungsstelle hinzufügen, damit der Browser nichts zu meckern hat.

Hilfreiche Artikel für diesen Post waren:

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.