Opennet CA
Inhaltsverzeichnis |
Erstellen sub-CA (intermediate-CA)
Linux
Für die Erstellung einer sub-CA wird eine vorhandene Openssl Installation benötigt. Bei einer vorhandenen OpenVPN Installation ist Openssl automatich mit installiert.
- Bei Bedarf OpenVPN oder Openssl installieren (ggf Rootrechte nötig)
- Opennet openssl.cnf besorgen
- Erstellen des sub-CA keys und der zugehörigen Zertifikatsanfrage (.csr) mit
openssl req -days 3650 -nodes -new -keyout <name>-opennet-intermediate-CA.key -out <name>-opennet-intermediate-CA.csr -config <Pfad der opennet openssl.cnf> -extensions v3_ca
Der Key und die csr landen im aktuellen Verzeichnis
- Die csr durch die Opennet Admins signieren lassen
- der reine crt Teil des Zertifikats muss dem ca.crt auf allen GWs angefügt werden
- der Pubkey(der pubkey für ssh) muss für den Benutzer opennetca@ratte.informatik.uni-rostock.de (139.30.3.52)oder auch ratte.on-i.de hinzugefügt werden
- Ein Hauptverzeichnis für die sub-CA wählen und ggf erstellen , als Beispiel wird /openssl gewählt (Variabele dir in der opennet.cnf)
- dem Verzeichnis nur minimale Rechte geben chmod 700 /openssl
- alle weiteren Pfadangaben beziehen sich auf das eben gewählte Verzeichnis
- Verzeichnis CA erstellen und minimale Rechte setzen mkdir CA ; chmod 700 CA
- Datei index.txt mit touch index.txt anlegen
- Datei serial mit echo "00" >serial anlegen
- Verzeichnis certs anlegen
- Verzeichnis csrs anlegen
- Verzeichnis crls anlegen
- Den Schlüssel und das Zertifikat der sub-CA in das Hauptverzeichnis kopieren und bei beiden die Rechte auf 400 setzen
- die openssl.cnf ebenfalls ins Hauptverzeichnis kopieren
- die Configdatei openssl.cnf an die aktuelle Konfiguration anpassen (Pfade)
- Script sign.sh anlegen und Rechte auf 700 setzen
- echo "#!/bin/sh" >> sign.sh
- echo "openssl ca -config /etc/openvpn/auth/opennet/openssl.cnf -days 3650 -in csrs $1.csr -out certs $1.crt" >> sign.sh
Die sub-CA sollte nun einsatzbereit sein
Windows
sinngemäß wie oben
- im Regelfall muss zuerst "Visual C++ 2008 Redistributables" installiert werden (z.B. hier)
- "Visual C++ 2008 Redistributables" mit Windows-Update aktualisieren!!
- openssl f. Windows besorgen und installieren (z.B. gleiche Quelle)
- Stammverzeichnis erstellen (im Beispiel f:\opennet\ca)
- Unterverzeichnisse \certs \csrs und \crls erstellen
- weiter geht's auf der Kommandozeile (cmd)
- ins Stammverzeichnis wechseln (f:\opennet\ca)
- Im Stammverzeichnis die Dateien serial (z.B. mit echo 00 >serial) erzeugen
- Die Datei index.txt z.B. mit notepad index.txt neu erstellen
- Die Opennet openssl.cnf besorgen und ins Stammverzeichnis kopieren
- von der Kommandozeile aus mit notepad openssl.cnf die Konfigurationsdatei öffnen
- nicht erschrecken, der Inhalt ist im notepad recht unaufgeräumt ;-) (es gibt bessere Editoren!)
- hinter der ersten Gruppe Rauten (#) findet Ihr "dir = xxxxx # Where everything is kept" wobei xxxxx für eine linuxtypische Pfadangabe steht (z.B. /etc/...)
- dort tragt Ihr den absoluten Pfad zum Stammverzeichnis ein (im Beispiel sieht das so aus: "dir = F:/Opennet/CA # Where everything is kept" (wichtig ist, das zwar windowstypisch das LW mit Doppelpunkt vorangestellt wird, die Slashs aber linuxtypisch sind (kein Backslash)) - speichern
- Erstellen des sub-CA keys und der zugehörigen Zertifikatsanfrage (.csr) mit
openssl req -days 3650 -nodes -new -keyout <name>-opennet-intermediate-CA.key -out <name>-opennet-intermediate-CA.csr -config openssl.cnf -extensions v3_ca
- Da Ihr im Stammverzeichnis wart, landen die Dateien auch gleich an der richtigen Stelle
- Die csr durch die Opennet Admins signieren lassen
- der reine crt Teil des Zertifikats muss dem ca.crt auf allen GWs angefügt werden
- der Pubkey(der pubkey für ssh) muss für den Benutzer opennetca@ratte.informatik.uni-rostock.de (139.30.3.52)oder auch ratte.on-i.de hinzugefügt werden
- Das Zertifikat ebenfalls ins Stammverzeichnis kopieren
- openssl.cnf überprüfen und anpassen (Pfad/Dateinamen für Zertifikat und privaten Schlüssel)
Das war's
Signieren funktioniert für einzelne csrs mit:
openssl ca -config openssl.cnf -days 3650 -in csrs\on_aps.csr -out certs\on_aps.crt
oder per entsprechender Batch-Datei.
Hinweise zum Signieren siehe folgenden Abschnitt
Signieren
- die Zertifikatsanfrage in den Ordner csrs kopieren
- das Script mit dem Namen des zu signierenden .csr als Parameter starten (ohne die Endung .csr)
- Die zu signierende csr sorgfälltig überprüfen, ob aktives Mitglid und AP Nummer stimmig
- Zertifikat durch touch freischalten user: opennetca 139.30.3.52 ratte.on-i.de (bzw s.o)
- Zertifikat an den Absender des CSRs schicken, Kopie an die csr Liste
Usergateway Zertifikat erstellen
- root Zugang auf Ruri nötig
- ins Verzeichnis /etc/ssl/ugw_ca/ wechseln
- Signieren wie oben, Freischaltung nicht nötig
- Zertifikat zurück an den Absender und an die Admin Liste
Standardtexte
CSR-Anfrage von Users außerhalb unseres Wirkungsbereiches
Vielen Dank für die Nachfrage. Jedoch erscheinst Du im Forum/Wiki des Opennet Rostock weder auf der Mitglider- noch auf der Interessentenliste. Wenn Du Interesse hast, Dich in den Aufbau und Betrieb eines Stadt-WLAN-Netzes einzubringen, melde Dich einfach an und werde Mitglied im Verein. Näheres findest Du unter
Hinweis: Die im/durch das Opennet-Rostock erstellten/zertifizierten Zertifikate sind außerhalb des Vereins völlig wertlos.