Artikel mit Tag keytool

KeyStore Explorer - Java Keystore und Zertifikate ohne die Kommandozeile verwalten

Zunächst ein gesundes neues Jahr 2019.

Java Keystore Management auf der Konsole empfinde ich als anstrengend. Liegt mit daran, dass ich mir Befehle wie

keytool -import -keystore /opt/data/cacerts -file /home/itrig/url.itrig.de.crt -alias url.itrig.de

einfach nicht merken kann oder zu selten benötige und sie daher nicht mag. Außerdem ist es mit einem Befehl nicht getan, denn nach dem Import, muss das Ganze noch einmal aufgelistet und eventuell ergänzt werden, usw.

keytool -list /opt/data/cacerts

keystore explorer

Eine Auswahl dieser Befehle hatte ich auch schon in einem Artikel - 9 praktische Keytool Befehle zusammengefasst.

KeyStore Explorer

Abhilfe schafft der KeyStoreExplorer, vorausgesetzt ein Verwaltungsgerät mit Oberfläche ist vorhanden.

Das Programm ergänzt quasi Tools wie das erwähnte keytool oder jarsigner mit einem grafischen Userinterface und lässt sich somit relativ leicht bedienen.

Es läuft auf nahezu jedem System, da es auf Java basiert und erlaubt alle Funktionen, die von der Kommandozeile bekannt sind. Dinge wie Import von Zertifikaten, sowie Export oder umbenennen. Passwort ändern oder generieren.  Insgesamt viele praktische Befehle die sich nun via Klick realisieren lassen.

Auch eine Konvertierung der folgenden Formate beherrscht das Tool: JKS, JCEKS, PKCS #12, BKS (V1 and V2) und UBER.

Aktuell ist Version 5.4.1.

KeyStore_Explorer

Fazit

Wer sich auf der Kommandozeile nicht immer wohlfühlt, der hat mit dem KeyStoreExplorer das richtige Werkezug um Java, Zertifikaten und deren Speicherung Herr zu werden. 

PS: Das Standardpasswort für einen Java Keystore ist "changeit"

Download Keystore Explorer

9 praktische Keytool Befehle - Zertifikatsmanagement unter Java

Das leidige Thema Zertifikate hatte ich auf dem Blog nun schon öfters, vielleicht erinnert ihr euch ja noch an das selbstsignierte Tomcat Zertifikat.

Damals wurde anders als bei der klassischen Variante mit Apache/OpenSSL auf Keytool zurückgegriffen. Sozusagen das Pendant unter Java.

Heut möchte ich euch ein paar weitere praktische Befehle dazu zeigen. Zunächst muss das Keytool aber gefunden werden.

Unter Windows befindet es sich meist im Bin-Ordner der Java Installation, beispielsweise "C:\Program Files\Java\jre7\bin"

Unter Linux genügt ein einfaches "whereis keytool", um den gewünschten Pfad, beispielsweise "/usr/bin/keytool" zu finden.

9 praktische Keytool Befehle

Einen Keystore und ein Schlüsselpaar erzeugen

keytool -genkey -alias domain -keyalg RSA -keystore keystore -keysize 2048

Eine Zertifikatsanfrage erstellen

keytool -certreq -alias domain -keystore keystore -file anfrage.csr

Ein signiertes Zertifikat in den Keystore importieren

keytool -import -trustcacerts -alias domain -file domain.crt -keystore keystorefile

Ein vorhandenes Zertifikat exportieren

keytool -export -alias meincert -file meinexportiertescert.crt -keystore keystorefile

Ein selbstsigniertes Zertifikat erstellen

keytool -genkey -keyalg RSA -alias selfsigned -validity 3600 -keysize 2048

Ein Vorhandenes Zertifikat auslesen 

keytool -printcert -v -file meincert.crt

Welche Zertifikate befinden sich im Keystore?

keytool -list -v -keystore keystore

Liste die vertraulichen CAs auf

keytool -list -keystore /opt/data/cacerts

Lösche ein Zertifikat aus dem Keystore

keytool -delete -alias domain -keystore keystore

 

 

Tomcat Server - selbstsigniertes SSL Zertifikat erstellen

Heute mal wieder etwas zum Thema Zertifikate. Hatten wir in letzter Zeit zwar schon öfters, siehe Zertifikat auslesen oder selbst signiertes Zertifikat erstellen. Um Letzteres soll es heute ebenfalls gehen. Der Unterschied ist allerdings, das es heute um eine Tomcat SSL Zertifikat in einer Windows Umgebung gehen soll. 

Der Vorgang funktioniert natürlich ebenfalls unter Linux in ähnlicher Weise, lediglich die Pfade sind andere.

Tomcat - selbstsigniertes SSL Zertifikat erstellen

Als erstes Schritt wird eine Konsole geöffnet (CMD). Als nächstes muss der Pfad der Java Installation gesucht werden. Im Normalfall ist das sowas wie:

C:\Program Files\Java\jdk1.7.0_51\bin oder

C:\Program Files \Java\jre7\bin

Solltet ihr den Pfad nicht finden, könnt ihr auch einfach nach der Datei "keytool.exe" suchen.

java-pfad

Sobald der Pfad gefunden ist, muss nur noch ein langer Befehl mit dem Keytool aufgerufen und danach die richtigen Werte hinterlegt werden.

  • keyalg RSA - Verschlüsselungsart
  • alias selfsigned - Selbstsigniertes Zertifikat
  • validity 3600  - Gültigkeit 10 Jahre
  • keysize 2048 - Schlüsselänge 2048

keytool -genkey -keyalg RSA -alias selfsigned -validity 3600 -keysize 2048

zertifikat-tomcat

Bei der Abfrage müssen die üblichen Werte hinterlegt werden. Am wichtigsten ist wie immer der CN Name, der hier als "First and Last Name abgefragt wird. Auch ein Passwort für den Keystore sollte hinterlegt werden, um diesen besser zu schützen.

Enter keystore password:

What is your first and last name?

  [Unknown]: 127.0.0.1

What is the name of your organizational unit?

  [Unknown]:

What is the name of your organization?

  [Unknown]:  Blog

What is the name of your City or Locality?

  [Unknown]:  Leipzig

What is the name of your State or Province?

  [Unknown]:

What is the two-letter country code for this unit?

  [Unknown]:  DE

Is CN=127.0.0.1, OU=Unknown, O=Blog, L=Leipzig, ST=Unknown, C=DE correct?

  [no]:  yes

Enter key password for <selfsigned>

        (RETURN if same as keystore password):

Re-enter new password:

In der Standardeinstellung wird der Keystore in eurem Benutzer Ordner abgelegt. Hier kann er im Prinzip auch liegen bleiben.

"C:\Users\Name\.keystore" 

Das Gröbste ist jetzt erledigt. Nun muss nur noch dem Tomcat Server mitgeteilt werden, dass er SSL verwenden soll. Hierzu muss die Server.xml editiert werden. Sie befindet sich im Normalfall unter

"C:\Tomcat-Installation\conf\server.xml" 

Habt ihr die Datei gefunden, müsst ihr nur den passenden Bereich freischalten und schon sollte euer Server unter https://127.0.0.1:8443 erreichbar sein.

<Connector port="8443" maxHttpHeaderSize="8192"

                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

                   enableLookups="false" disableUploadTimeout="true"

                   acceptCount="100" scheme="https" secure="true"

                   clientAuth="false" sslProtocol="TLS" SSLEnabled="true"

                   URIEncoding="UTF-8" keystorePass="xxx"

  keystoreFile="C:\Users\Username\.keystore"/>

zertifikat-tomcat-erstellen

Zum Schluss muss noch der Tomcat Dienst neu gestartet werden und eure Installation ist unter HTTPS erreichbar.