Ich werd das in den nächsten Monaten mal für den einen oder anderen Dienst, z.B. OpenVPN, ausprobieren und gucken, ob dieser Ansatz in der Praxis funktionieren könnte. Für die Anwendung im Webumfeld sehe ich ja eher schwarz, weil dank der verDAUung des Internets ein https-Server mit selbstsigniertem Zertifikat gemeinhin als unsicherer angesehen wird wie ein Server mit unverschlüsseltem http. Weil bei Ersterem der Browser weint, und bei Zweiterem nicht.
Das brauch ich immer dann, wenn ich Philip Hazels exim-Buch, aus dem diese Kommandozeile stammt, nicht griffbereit habe:
openssl req -x509 -sha256 -newkey rsa:4096 -keyout keyfile -out certfile -days 9000 -nodes
Wichtig: Vorher /etc/ssl/openssl.cnf anpassen, sonst hat man leicht "Some-Foo" in irgend einem Feld stehen.
9999 Tage kann man nicht mehr nehmen, das sprengt die Zeitrechnung. openssl nimmt das klaglos, und OpenVPN beschwert sich danach über ein abgelaufenes Zertifikat.
Ausgabe zur Prüfung geht dann mit openssl x509 -in certfile -text
Gegen ein CA-Zertifikat prüft man mit: openssl verify -CAfile fsckCA/cacert.crt -verbose -purpose sslserver
wobei man den "purpose" noch varrieren kann (z.B. sslclient für ein Client-Zertifikat).
Danke außer an Philip noch an Andreas Pommer, der mir das vor vielen Monaten per E-Mail schrieb.