keytool ist das Schlüssel- und Zertifikatsverwaltungs-Werkzeug der Java-Plattform. Es verwaltet Keystores (eigene Schlüssel und Zertifikate) und Truststores (vertrauenswürdige fremde Zertifikate, etwa von Zertifizierungsstellen) — die Grundlage für TLS in Java-Anwendungen wie Apache Tomcat, Spring Boot oder Kafka.
Schlüsselpaar erzeugen
keytool -genkeypair -alias example -keyalg RSA -keysize 2048 -keystore keystore.p12 -storetype PKCS12 -validity 365
Seit Java 9 ist PKCS12 das Standard-Keystore-Format; das alte proprietäre JKS gilt als abgelöst. -genkeypair erzeugt ein Schlüsselpaar samt selbstsigniertem Zertifikat — für echte Zertifikate erstellt man daraus einen CSR und lässt ihn von einer Zertifizierungsstelle signieren.
CSR erstellen und Zertifikat importieren
keytool -certreq -alias example -keystore keystore.p12 -file example.csr
keytool -importcert -alias example -file zertifikat.crt -keystore keystore.p12
-certreq erzeugt den Signierantrag, -importcert übernimmt das von der CA signierte Zertifikat zurück in den Keystore. Die Zertifikatskette der CA muss ebenfalls importiert sein, sonst meldet der Server eine unvollständige Kette.
Keystore anzeigen und Formate umwandeln
keytool -list -keystore keystore.p12 -storepass changeit
keytool -importkeystore -srckeystore alt.jks -srcstoretype JKS -destkeystore neu.p12 -deststoretype PKCS12
Mit -list sieht man alle Einträge eines Keystores, -importkeystore konvertiert zwischen JKS, PKCS12 und PKCS11. Der Standard-Keystore-Passwort-Name der Java-Welt ist changeit — er gehört bei produktiven Systemen geändert.
Truststore pflegen
keytool -importcert -alias mein-ca -file ca.crt -keystore cacerts -storepass changeit
Der mitgelieferte Truststore cacerts (unter $JAVA_HOME/lib/security) enthält die vertrauenswürdigen CA-Zertifikate. Wer eine eigene Zertifizierungsstelle betreibt, importiert deren Zertifikat hier — oder legt einen separaten Truststore an und reicht ihn per -Djavax.net.ssl.trustStore=... an die Anwendung durch. Einen aus OpenSSL exportierten PKCS12-Bundle importiert keytool direkt, das ist die Brücke zwischen beiden Welten. Das dezentrale Gegenmodell zur zentralen CA-Liste pflegt das OpenPGP-Universum: Dort beglaubigen sich Nutzer gegenseitig per Web of Trust, verwaltet durch GPG.
Verwandte Grundlagen: OpenSSL-Befehle, Tomcat-Befehle, PKI.