English English French French Spanish Spanish German German
Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

17 Keytool-Befehlsbeispiele, die Sie als Sysadmin und Entwickler kennen sollten

Keytool-Befehl-Beispiele
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Keytool ist ein Befehlszeilendienstprogramm, mit dem Sie kryptografische Schlüssel und Zertifikate verwalten/speichern können.

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

Verwirrt? Ärgern Sie sich nicht; Ich werde es in einfacheren Worten erklären, während Sie lesen.

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 ist ein Dienstprogramm zur Verwaltung von Schlüsseln und Zertifikaten. Es ermöglicht Ihnen, private/öffentliche Schlüsselpaare zu speichern, die normalerweise dazu dienen, den Zugriff auf Dienste zu verifizieren/authentifizieren.

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

Zum größten Teil ja, aber ein Benutzer kann mit dem keytool-Befehl kreativ werden, um Passphrasen und geheime Schlüssel für Authentifizierungs-, Verschlüsselungs- und Entschlüsselungszwecke zu speichern. Wenn Sie also neugierig sind, sollten Sie es auf Ihrem System ausprobieren.

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

Darüber hinaus das Auschecken der OpenSSL-Befehlsbeispiele kann Ihnen auch eine Vorstellung davon geben, wie es anders ist und was Sie mit jedem von ihnen tun können.

Create a Self-Signed Certificate

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

Im Gegensatz zu einem SSL-Zertifikat das Sie kaufen, wird ein selbstsigniertes Zertifikat nur zu Entwicklungs-/Testzwecken verwendet, um eine sichere Verbindung zu verwenden.

Sie können einen mit der oben erwähnten Keytool-Befehlssyntax generieren. So sieht es beispielsweise 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 Schlüsselspeicher festlegen, das „passforkeystore“ im obigen Befehl.

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

Wenn Sie zwei unterschiedliche Passwörter für Ihren Schlüsselspeicher und das Zertifikat benötigen, sollten Sie dem keytool-Befehl möglicherweise explizit mitteilen, dass er eine andere Schnittstelle verwenden soll.

Sie können mehr darüber in seinem lesen offizielle Dokumentation.

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

What is your first and last name?
  [Unknown]:  Ankush
What is the name of your organizational unit?
  [Unknown]:  Geekflare
What is the name of your organization?
  [Unknown]:  Geekflare
What is the name of your City or Locality?
  [Unknown]:  Bhubaneswar
What is the name of your State or Province?
  [Unknown]:  Odisha
What is the two-letter country code for this unit?
  [Unknown]:  91
Is CN=Ankush, OU=Geekflare, O=Geekflare, L=Bhubaneswar, ST=Odisha, C=91 correct?
  [no]:  yes

Create a Java Keystore and Key Pair

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

Generate a Java Keystore and Import a certificate

Stellen Sie sicher, dass Sie über ein gültiges Zertifikat verfügen oder zuvor eines erstellt haben; Sobald Sie fertig sind, können Sie es importieren und einen Java Keystore generieren.

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

Generate a Key Pair to the Default Keystore With Subject

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

keytool -alias ca -dname CN=CA -genkeypair

Create a Chain of Signed Certificates

Angenommen, Sie haben die Schlüsselpaare ca und ca1 erstellt. Sie können eine Kette signierter Zertifikate erstellen, bei der ca ca1 mit den folgenden Befehlen signiert:

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 signiert.

Importing a Certificate

Wenn Sie ein Zertifikat aus einer verfügbaren Datei importieren möchten, können Sie Folgendes tun:

keystool -import -alias geekflare -file geekflareserver.cer

Create a Certificate Signing Request (CSR) for the existing Keystore

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

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

List Certificates Stored in Java Keystore

Ein Keystore kann mehrere Einträge von Zertifikaten haben. Angenommen, wir überprüfen die Liste der Zertifikate in „keystore.jks” Datenbank, hier ist, was wir eingeben müssen:

keytool -v -list -keystore keystore.jks

Die Ausgabe dafür sieht wie folgt aus:

keytool -v -list -keystore keystore.jks
Enter keystore password:  
Keystore type: PKCS12
Keystore provider: SUN

Your keystore contains 2 entries

Alias name: geekflarecert
Creation date: 16-Nov-2022
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Ankush, OU=Geek, O=Geekflare, L=Bhubaneswar, ST=od, C=91
Issuer: CN=Ankush, OU=Geek, O=Geekflare, L=Bhubaneswar, ST=od, C=91
Serial number: a0b9a99
Valid from: Wed Nov 16 09:42:37 IST 2022 until: Sat Nov 13 09:42:37 IST 2032
Certificate fingerprints:
	 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
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

Check the Contents of a Single Certificate

Da Sie bereits ein generiertes Zertifikat haben, können Sie es wie folgt genauer überprüfen:

keytool -v -printcert -file server.crt

View Certificates in a Java Keystore

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

keytool -v -list -keystore keystore.jks

View Keystore Using an Alias and Keystore

Wenn Sie einen Schlüsselspeicher anhand seines Aliasnamens überprüfen möchten, den Sie beim Erstellen festgelegt haben, geben Sie Folgendes ein:

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

List Certificates in KeyStore

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

keytool -list -storepass passforkeystore

Sie müssen ersetzen „passforkeystore“ mit dem von Ihnen festgelegten Passwort.

View Certificate Information

Wenn Sie die Details für ein einzelnes Zertifikat überprüfen müssen, können Sie dessen Alias ​​verwenden, ohne die Keystone-Datenbank anzugeben.

So sieht es aus:

keytool -list -v -alias geekflare -storepass passforkeystore

View Certificate in PEM Format

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

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

Change a Java Keystore Password

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

keytool -delete -alias geekflare -keystore keystore.jks

Delete a Certificate from Java Keystore

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

keytool -delete -alias geekflare -keystore keystore.jks

Explore The Command and Get Help

Der Befehl hat mehrere Argumente und Erweiterungen, um viele Dinge zu erledigen. Abhängig von Ihrem Anwendungsfall müssen Sie möglicherweise alle verwenden oder nicht.

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

keytool -help

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

man keytool

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

Behalten Sie es also als Ihre Superkraft, alles darüber zu lernen, was Sie können!

Fazit

Der Pfad der Dateien und andere Anpassungsoptionen können sich geringfügig von der von Ihnen verwendeten Plattform unterscheiden. Sie können sich auch auf die Dokumentation von Oracle für die standardisierten Optionen beziehen.

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 erkunden Linux-Befehle um die Systeme optimal zu warten und am Laufen zu halten.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu Linux
Macht Ihr Geschäft
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder