XCA auch ohne GUI

XCA kann übrigens auch ohne X-Server verwendet werden um Keys zu erzeugen oder zu analysieren. Es gibt eine gute Commandline API. Hier ein paar Beispiele auf dem Raspberry Pi.

Die Hilfe ist unter

xca –help

zu finden:

Ok, dann mal erst die Version ausgeben

xca –version

Nun wollen wir mal alle Keys auflisten. Dazu brauchen wir auch die Datenbank Datei. Wenn es die DB-Datei noch nicht gibt, wird sie mit ein paar Warnungen angelegt. Ich habe hier aber schon eine mit Namen xca-datenbank-junit-test.xdb

xca –list-items –database=xca-datenbank-junit-test.xdb

Alle Zertifikate die einen privaten Key in der DB haben mit Aussteller ausgeben:

xca –database=xca-datenbank-junit-test.xdb –issuers
z.B.

Jetzt ohne GUI eine secp256k1 Key erzeugen und in die Datenbank speichern:

xca –name=JUNIT-CMD-EC –keygen EC:secp256k1 –database=xca-datenbank-junit-test.xdb

Dann noch das Passwort für die DB eingeben:

Please enter the database password for encrypting the key
Password: finished.
Information: Successfully created the EC private key ‚JUNIT-CMD-EC‘

Schon habe wir eine Key mit Namen: ‚JUNIT-CMD-EC‘ erzeugt. In der GUI ist er dann natürlich auch sichtbar:

Ein RSA Key würde so auch leicht gehen:

xca –name=JUNIT-CMD-RSA –keygen RSA:2048 –database=xca-datenbank-junit-test.xdb

Schon vorhandene Zertifikate können auch importiert werden z.B. mit

xca –database=xca-test-db.xdb –no-gui –import junitec.crt

es muss da der –no-gui Parameter gesetzt werden, sonst kommt eine Fehlermeldung „Could not connect to any X display.“.

Zum Schluss, noch ein vorhandenes Zertifikat, den Public-Key aus der Datei junitec.pem ausgeben:

xca –print junitec.pem