17 Příklady příkazů Keytool, které musíte znát jako správce systému a vývojář

Keytool je nástroj příkazového řádku, který umožňuje spravovat/ukládat kryptografické klíče a certifikáty.

Pokud má váš systém nainstalovanou Javu, můžete pomocí příkazu keytool importovat certifikát CA, vypisovat certifikáty, vytvářet certifikáty s vlastním podpisem, ukládat přístupové fráze a veřejné/soukromé klíče a provádět mnoho dalších věcí.

Zmatený? Nebojte se; Při čtení to vysvětlím jednoduššími termíny.

Všimněte si, že používám Linux k testování příkazů a vysvětlím vám o tom trochu více na příkladech.

Příkazy Keytool můžete používat také ve Windows a macOS.

Co je to příkaz Keytool?

Je to nástroj pro správu klíčů a certifikátů. Umožňuje ukládat páry soukromých/veřejných klíčů, které obvykle slouží k ověření/ověření přístupu ke službám.

Vzhledem k názvu tohoto článku lze předpokládat, že příkaz používají především správci systému a vývojáři.

Z velké části ano, ale uživatel může být kreativní s příkazem keytool k ukládání přístupových frází a tajných klíčů pro účely ověřování, šifrování a dešifrování. Takže, pokud jste zvědaví, měli byste to vyzkoušet na svém systému.

Pokud jste s konceptem kryptografických klíčů nováčkem, možná si budete chtít přečíst náš článek o šifrování dat, než vyzkoušíte příkazy keytool.

  Jak generovat titulky pro zvuk a video? [9 Best Tools]

Kromě toho, prohlédnutí příkladů příkazů OpenSSL vám také může poskytnout určitou představu o tom, jak se liší a co můžete dělat s kterýmkoli z nich.

Vytvořte certifikát s vlastním podpisem

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

Na rozdíl od certifikátu SSL, který si zakoupíte, se certifikát s vlastním podpisem používá pouze pro účely vývoje/testování pro použití zabezpečeného připojení.

Můžete jej vygenerovat pomocí výše uvedené syntaxe příkazu keytool. Vypadá to například takto:

keytool -genkeypair -alias etechblog.cz -keypass passforkeystore -validity 365 -storepass passforkeystore

Pro alias můžete použít jakýkoli název; Jako zástupný text používám etechblog.cz. Můžete upravit platnost a zadat heslo pro úložiště klíčů, které ve výše uvedeném příkazu nahradí „passforkeystore“.

Pamatujte, že pro úložiště klíčů PKCS12 je podporováno pouze jedno heslo. Je to však vhodný typ úložiště klíčů, který není specifický pro Java.

Pokud potřebujete dvě různá hesla pro úložiště klíčů a certifikát, možná budete chtít příkazu keytool výslovně sdělit, aby použil jiné rozhraní.

Více si o něm můžete přečíst v jeho oficiální dokumentaci.

Jakmile budete pokračovat ve vytváření, požádá vás o další podrobnosti pro pravost. Mělo by to vypadat následovně:

What is your first and last name?
  [Unknown]:  Ankush
What is the name of your organizational unit?
  [Unknown]:  etechblog.cz
What is the name of your organization?
  [Unknown]:  etechblog.cz
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=etechblog.cz, O=etechblog.cz, L=Bhubaneswar, ST=Odisha, C=91 correct?
  [no]:  yes

Vytvořte úložiště klíčů Java a pár klíčů

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

Vygenerujte úložiště klíčů Java a importujte certifikát

Ujistěte se, že máte platný certifikát nebo jste si jej vygenerovali dříve; po dokončení jej můžete importovat a vygenerovat úložiště klíčů Java.

keytool -importcert -file test.crt -keystore truststore.jks -alias etechblog.cz

Vygenerujte klíčový pár do výchozího úložiště klíčů s předmětem

Pomocí následujícího příkazu můžete rychle vygenerovat pár klíčů (řekněme s názvem „ca“):

keytool -alias ca -dname CN=CA -genkeypair

Vytvořte řetězec podepsaných certifikátů

Předpokládejme, že jste vytvořili páry klíčů ca a ca1. Můžete vytvořit řetězec podepsaných certifikátů, kde ca podepíše ca1 pomocí následujících příkazů:

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

Řetězec můžete doplnit dalšími dvěma páry klíčů ca1 a ca2, kde ca1 bude podepisovat ca2.

  Jak úplně smazat účet Gmail: Průvodce krok za krokem

Import certifikátu

Chcete-li importovat certifikát z dostupného souboru, postupujte takto:

keystool -import -alias etechblog.cz -file geekflareserver.cer

Vytvořte žádost o podpis certifikátu (CSR) pro existující úložiště klíčů

Vzhledem k tomu, že jste již vytvořili úložiště klíčů, můžete vygenerovat CSR.

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

Seznam certifikátů uložených v úložišti klíčů Java

Úložiště klíčů může mít více záznamů certifikátů. Za předpokladu, že kontrolujeme seznam certifikátů v databázi „keystore.jks“, musíme zadat následující:

keytool -v -list -keystore keystore.jks

Výstup pro to bude vypadat takto:

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=etechblog.cz, L=Bhubaneswar, ST=od, C=91
Issuer: CN=Ankush, OU=Geek, O=etechblog.cz, 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

Zkontrolujte obsah jednoho certifikátu

Vzhledem k tomu, že již máte vygenerovaný certifikát, můžete o něm zkontrolovat více pomocí následujícího:

keytool -v -printcert -file server.crt

Zobrazení certifikátů v úložišti klíčů Java

Můžete vypsat všechny certifikáty z databáze úložiště klíčů. Takto vypadá příkaz:

keytool -v -list -keystore keystore.jks

Zobrazení úložiště klíčů pomocí aliasu a úložiště klíčů

Pokud chcete úložiště klíčů zkontrolovat pomocí jeho aliasu, který jste nastavili při jeho vytváření, zadejte následující:

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

Seznam certifikátů v KeyStore

Pokud chcete zkontrolovat certifikáty uložené ve výchozím úložišti klíčů, použijte příkaz:

keytool -list -storepass passforkeystore

Musíte nahradit „passforkeystore“ heslem, které jste nastavili.

  Zipujte, rozbalujte, chraňte a sdílejte soubory na Macu pomocí WinZip

Zobrazit informace o certifikátu

Pokud potřebujete zkontrolovat podrobnosti pro jeden certifikát, můžete použít jeho alias, aniž byste zadali databázi klíčového kamene.

Vypadá to takto:

keytool -list -v -alias etechblog.cz -storepass passforkeystore

Zobrazit certifikát ve formátu PEM

PEM je jedním z nejběžnějších formátů pro certifikáty a kryptografické klíče. Pokud chcete zkontrolovat certifikát pomocí PEM, zadejte následující:

keytool -v -printcert -file etechblog.cz.crt -rfc

Změňte heslo úložiště klíčů Java

Pokud jste již vytvořili heslo pro Java Keystore, můžete heslo změnit pomocí příkazu:

keytool -delete -alias etechblog.cz -keystore keystore.jks

Odstraňte certifikát z úložiště klíčů Java

Chcete-li jej odstranit, můžete zadat úložiště klíčů Java a jeho alias. Například:

keytool -delete -alias etechblog.cz -keystore keystore.jks

Prozkoumejte The Command a získejte nápovědu

Příkaz má několik argumentů a rozšíření, aby bylo možné provést mnoho věcí. V závislosti na vašem případu použití je můžete nebo nemusíte použít všechny.

Pokud se tedy chcete ponořit hluboko do možností příkazů, můžete vždy zadat:

keytool -help

V obou případech, pokud používáte linuxový terminál, doporučuji přečíst si stránku man (manuál) s tímto příkazem:

man keytool

S příkazem man můžete získat všechny podrobnosti, které potřebujete o příkazu keytool.

Takže si ponechte svou superschopnost, abyste se o ní dozvěděli vše, co můžete!

Zabalit se

Cesta k souborům a další možnosti přizpůsobení se mohou trochu lišit od platformy, kterou používáte. Standardizované možnosti najdete také v dokumentaci Oracle.

Keytool je vynikající nástroj pro řadu úkolů. Vyzkoušejte to a uvidíte, co s tím můžete dělat!

Můžete také prozkoumat některé příkazy Linuxu pro údržbu a udržení optimálního chodu systémů.