Komfortable PKI-Tools

Eigene OpenSSL-Zertifikate unter Linux

| Autor: Thomas Drilling

Drillings Open-Source-Eck
Drillings Open-Source-Eck (Bild: Thomas Drilling)

OpenSSL ist der Standard für das Bereitstellen und Verwalten eigener SSL-, TLS- oder X.509-Zertifikate unter Linux. In der Handhabung ist das CLI-Werkzeug allerdings kompliziert. Eine komfortable Alternative ist Caman.

Wer jemals die AD-Zertifikatsdienste unter Windows Server installiert und ein neues Zertifikat, bzw. eine Zertifikatsanforderung z. B. im Exchange Admin Center erstellt hat, weiß den Komfort einer grafischen Oberfläche zu schätzen. Leider hat Windows Linux nicht nur in diesem Punkt Einiges voraus.

OpenSSL ist kompliziert

OpenSSL unter Linux ist zwar der Standard für X.509-, TSL- und SSL-Zertifikate in der Open-Source-Welt, aber vergleichsweise schwierig zu benutzen und faktisch nicht, bzw. nur rudimentär mit den übrigen Betriebssystem-Komponenten, etwa einer grafischen Oberfläche verzahnt.
So ist das Betreiben einer eigenen Zertifikatsstelle (Certification Authority, CA) mit dem openssl-Kommando zwar möglich, setzt aber entsprechendes Know How über die Funktionsweise sowie die Bedeutung einer großen Anzahl von Schaltern voraus, etwa um das Root-Zertifikat und danach das öffentliche Zertifikat der CA zu generieren.

OpenSSL-Alternativen

Daher gibt es unter Linux verschiedene Open-Source-Tools Zertifikate, die das Generieren und Verwalten von Zertifikaten vereinfachen sollen, wie z. B. Dogtag oder TinyCA, letzteres sogar mit grafischer Oberfläche. Relativ neu dagegen ist das Tool CLI-Tool caman.

Caman

Caman läuft zwar ebenfalls auf der Kommandozeile, bietet aber einen mit TinyCA vergleichbaren Komfort. So führt nach dem Herunterladen das Eingeben von

./caman init

Im Download-Verzeichnis ein Assistenten Schritt für Schritt durch den Einrichtungsprozess der Certificate Authority. Soll dann ein neuer Host ein Zertifikat erhalten, genügt

./caman new .

Das Zertifikat selbst erzeugt man mit

./caman sign .

Das Erneuern eines Zertifikates erfolgt mit

./caman renew .

Zum Widerrufen gibt man

./caman revoke

ein. Der Admin kann dann die Widerrufsliste über den Webserver neu publizieren.
Weitere Details findet man in der ausführlichen Anleitung. Diese ist, ebenso wie der Quellcode über das  Github-Repository von caman zugänglich.