Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Linux und Sicherheit Zuletzt aktualisiert: September 24, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

Keytool ist ein Befehlszeilen-Dienstprogramm, mit dem Sie kryptografische Schlüssel und Zertifikate verwalten und speichern können.

Wenn auf Ihrem System Java installiert ist, können Sie den Befehl keytool verwenden, um ein CA-Zertifikat zu importieren, Zertifikate aufzulisten, selbstsignierte Zertifikate zu erstellen, Passphrasen und öffentliche/private Schlüssel zu speichern und viele weitere Dinge zu tun.

Verwirrt? Keine Sorge, ich erkläre es Ihnen im Laufe der Lektüre in einfacheren Worten.

Beachten Sie, dass ich Linux verwende, um die Befehle zu testen und Ihnen anhand von Beispielen etwas mehr darüber zu erklären.

Sie können Keytool-Befehle auch unter Windows und macOS verwenden.

Was ist ein Keytool-Befehl?

Es handelt sich um ein Dienstprogramm zur Verwaltung von Schlüsseln und Zertifikaten. Es ermöglicht Ihnen, private/öffentliche Schlüsselpaare zu speichern, die in der Regel dazu dienen, den Zugang zu Diensten zu verifizieren/authentifizieren.

In Anbetracht des Titels dieses Artikels kann man davon ausgehen, dass der Befehl hauptsächlich von Systemadministratoren und Entwicklern verwendet wird.

In den meisten Fällen ja, aber ein Benutzer kann mit dem Befehl keytool kreativ werden, um Passphrasen und geheime Schlüssel für Authentifizierungs-, Verschlüsselungs- und Entschlüsselungszwecke zu speichern. Wenn Sie also neugierig geworden sind, sollten Sie es in Ihrem System ausprobieren.

Wenn Sie mit dem Konzept der kryptografischen Schlüssel nicht vertraut sind, sollten Sie sich unseren Artikel über Datenverschlüsselung ansehen, bevor Sie die keytool-Befehle ausprobieren.

Außerdem können Sie sich anhand der OpenSSL-Befehlsbeispiele einen Eindruck davon verschaffen, wie sich die Befehle unterscheiden und was Sie mit ihnen alles machen können.

Erstellen Sie ein selbstsigniertes Zertifikat

keytool -genkeypair -alias <alias> -keypass <keypass> -validity <validity> -storepass <storepass&gt

Im Gegensatz zu einem gekauften SSL-Zertifikat wird ein selbstsigniertes Zertifikat nur für Entwicklungs-/Testzwecke verwendet, um eine sichere Verbindung zu nutzen.

Sie können es mit der oben erwähnten Befehlssyntax von keytool erzeugen. So sieht es zum Beispiel aus:

keytool -genkeypair -alias geekflare -keypass passforkeystore -validity 365 -storepass passforkeystore

Sie können einen beliebigen Namen für den Alias verwenden; ich verwende geekflare als Platzhaltertext. Sie können die Gültigkeit anpassen und ein Passwort für den Keystore angeben, indem Sie“passforkeystore” im obigen Befehl ersetzen.

Beachten Sie, dass für PKCS12 KeyStores nur ein Passwort unterstützt wird. Es handelt sich jedoch um einen praktischen Keystore-Typ, der nicht Java-spezifisch ist.

Wenn Sie zwei verschiedene Passwörter für Ihren Keystore und das Zertifikat benötigen, sollten Sie dem Befehl keytool ausdrücklich mitteilen, dass er eine andere Schnittstelle verwenden soll.

Mehr darüber können Sie in der offiziellen Dokumentation nachlesen.

Sobald Sie mit der Erstellung fortfahren, werden Sie nach weiteren Details zur Authentizität gefragt. So sollte es aussehen:

Wie lauten Ihr Vor- und Nachname?
 [Unbekannt]:  Ankush
Wie lautet der Name Ihrer Organisationseinheit?
 [Unbekannt]:  Geekflare
Wie lautet der Name Ihrer Organisation?
 [Unbekannt]:  Geekflare
Wie lautet der Name Ihrer Stadt oder Ihres Ortes?
 [Unbekannt]:  Bhubaneswar
Wie lautet der Name Ihres Bundeslandes oder Ihrer Provinz?
 [Unbekannt]:  Odisha
Wie lautet der zweistellige Ländercode für diese Einheit?
 [Unbekannt]: 91
Ist CN=Ankush, OU=Geekflare, O=Geekflare, L=Bhubaneswar, ST=Odisha, C=91 richtig?
 [nein]: ja

Erstellen Sie einen Java Keystore und ein Schlüsselpaar

keytool -genkeypair -keyalg RSA -keysize 2048 -keystore keystore.jks -alias geekflarejava -validity 3650

Erzeugen Sie einen Java Keystore und importieren Sie ein Zertifikat

Vergewissern Sie sich, dass Sie ein gültiges Zertifikat haben oder zuvor eines generiert haben. Sobald dies geschehen ist, können Sie es importieren und einen Java Keystore generieren.

keytool -importcert -file test.crt -keystore truststore.jks -alias geekflare

Erzeugen eines Schlüsselpaares für den Standard-Keystore mit Betreff

Mit dem folgenden Befehl können Sie schnell ein Schlüsselpaar (z.B. mit dem Namen “ca”) erzeugen:

keytool -alias ca -dname CN=CA -genkeypair

Eine Kette von signierten Zertifikaten erstellen

Angenommen, Sie haben die Schlüsselpaare ca und ca1 erstellt. Mit den folgenden Befehlen können Sie eine Kette von signierten Zertifikaten erstellen, in der ca ca1 signieren wird:

keytool -alias ca1 -certreq
keytool -alias ca -gencert -ext san=dns:ca1
keytool -alias ca1 -importcert

Sie können die Kette mit zwei weiteren Schlüsselpaaren ca1 und ca2 vervollständigen, wobei ca1 ca2 signieren wird.

Importieren eines Zertifikats

Wenn Sie ein Zertifikat aus einer verfügbaren Datei importieren möchten, können Sie wie folgt vorgehen:

keystool -import -alias geekflare -datei geekflareserver.cer

Erstellen Sie eine Zertifikatssignierungsanforderung (CSR) für den vorhandenen Keystore

Da Sie bereits einen Keystore erstellt haben, können Sie eine CSR erzeugen.

keytool -certreq -keyalg rsa -keystore keystore.jks -alias server -file geekflare.csr

In Java Keystore gespeicherte Zertifikate auflisten

Ein Keystore kann mehrere Einträge von Zertifikaten enthalten. Angenommen, wir überprüfen die Liste der Zertifikate in der Datenbank“keystore.jks“, dann müssen wir Folgendes eingeben:

keytool -v -list -keystore keystore.jks

Die Ausgabe sieht dann wie folgt aus:

keytool -v -list -keystore keystore.jks
Keystore-Passwort eingeben: 
Keystore-Typ: PKCS12
Schlüsselspeicheranbieter: SUN

Ihr Keystore enthält 2 Einträge

Aliasname: geekflarecert
Erstellungsdatum: 16-Nov-2022
Eintragstyp: PrivateKeyEntry
Länge der Zertifikatskette: 1
Zertifikat[1]:
Besitzer: CN=Ankush, OU=Geek, O=Geekflare, L=Bhubaneswar, ST=od, C=91
Aussteller: CN=Ankush, OU=Geek, O=Geekflare, L=Bhubaneswar, ST=od, C=91
Seriennummer: a0b9a99
Gültig von: Wed Nov 16 09:42:37 IST 2022 bis: Sat Nov 13 09:42:37 IST 2032
Zertifikat-Fingerabdrücke:
SHA1: 23:7C:65:A7:A6:84:18:F8:45:04:92:DF:D4:BB:0F:91:6D:A5:C5:BE
SHA256: C0:25:ED:B8:CF:1A:E6:E1:C5:75:A8:10:8F:CD:BE:42:26:96:9C:9A:FA:74:65:07:71:06:9A:2C:F5:80:FE:7F
Name des Signaturalgorithmus: SHA256mitRSA
Subject Public Key Algorithmus: 2048-Bit RSA-Schlüssel
Version: 3

Prüfen Sie den Inhalt eines einzelnen Zertifikats

Wenn Sie bereits ein generiertes Zertifikat haben, können Sie den Inhalt mit der folgenden Methode überprüfen:

keytool -v -printcert -datei server.crt

Zertifikate in einem Java Keystore anzeigen

Sie können alle Zertifikate aus einer Keystore-Datenbank auflisten. So sieht der Befehl aus:

keytool -v -list -Schlüsselspeicher keystore.jks

Keystore über einen Alias und Keystore anzeigen

Wenn Sie einen Keystore anhand seines Alias-Namens überprüfen möchten, den Sie bei der Erstellung festgelegt haben, geben Sie Folgendes ein:

keytool -v -list -keystore keystore.jks -alias geekflareserver

Zertifikate im KeyStore auflisten

Wenn Sie die im Standard-Keystore gespeicherten Zertifikate überprüfen möchten, verwenden Sie den folgenden Befehl:

keytool -list -storepass passforkeystore

Sie müssen“passforkeystore” durch das von Ihnen festgelegte Passwort ersetzen.

Zertifikatsinformationen anzeigen

Wenn Sie die Details eines einzelnen Zertifikats überprüfen möchten, können Sie dessen Alias verwenden, ohne die Keystone-Datenbank anzugeben.

So sieht es aus:

keytool -list -v -alias geekflare -storepass passforkeystore

Zertifikat im PEM-Format anzeigen

PEM ist eines der gängigsten Formate für Zertifikate und kryptografische Schlüssel. Wenn Sie ein Zertifikat im PEM-Format überprüfen möchten, geben Sie Folgendes ein:

keytool -v -printcert -datei geekflare.crt -rfc

Ändern eines Java Keystore-Passworts

Wenn Sie bereits ein Passwort für den Java Keystore erstellt haben, können Sie das Passwort mit dem folgenden Befehl ändern:

keytool -delete -alias geekflare -keystore keystore.jks

Ein Zertifikat aus dem Java Keystore löschen

Sie können den Java Keystore und seinen Alias angeben, um ihn zu löschen. Zum Beispiel:

keytool -delete -alias geekflare -keystore keystore.jks

Erkunden Sie den Befehl und erhalten Sie Hilfe

Der Befehl hat mehrere Argumente und Erweiterungen, mit denen Sie viele Dinge erledigen können. Je nach Ihrem Anwendungsfall müssen Sie nicht alle verwenden.

Wenn Sie also tief in die Befehlsoptionen eintauchen möchten, können Sie jederzeit Folgendes eingeben:

keytool -help

Wenn Sie ein Linux-Terminal verwenden, empfehle ich Ihnen in jedem Fall, die man-Seite (Handbuch) mit diesem Befehl zu lesen:

man keytool

Mit dem man-Befehl erhalten Sie alle Details, die Sie über den Befehl keytool benötigen.

Machen Sie es also zu Ihrer Superkraft, so viel wie möglich darüber zu lernen!

Zusammenfassung

Der Pfad der Dateien und andere Anpassungsoptionen können sich je nach der von Ihnen verwendeten Plattform ein wenig unterscheiden. Sie können die standardisierten Optionen auch in der Dokumentation von Oracle nachlesen.

Keytool ist ein hervorragendes Werkzeug für eine Reihe von Aufgaben. Probieren Sie es aus und sehen Sie, was Sie damit machen können!

Sie können auch einige Linux-Befehle ausprobieren, um die Systeme zu warten und optimal am Laufen zu halten.

  • Ankush Das
    Autor
    Ein Informatik-Absolvent mit einer Leidenschaft für das Erforschen und Schreiben über verschiedene Technologien. Wenn er nicht gerade schreibt, sind es meist seine Katzen, die ihn beschäftigen.
Dank an unsere Sponsoren
Weitere gute Lektüre zu Linux
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder