Úvod do keytool

Java Top

Práve som oznámil nové Naučte sa jar kurz zameraný na základy jari 5 a Spring Boot 2:

>> SKONTROLUJTE KURZ

1. Prehľad

V tomto krátkom tutoriáli si predstavíme keytool príkaz. Naučíme sa, ako používať keytool vytvoriť nový certifikát a skontrolovať informácie o danom certifikáte.

2. Čo je keytool?

Java obsahuje keytool vo svojich vydaniach. Používame to na spravovať kľúče a certifikáty a uložiť ich v obchode s kľúčmi. The keytool príkaz nám umožňuje vytvárať certifikáty s vlastným podpisom a zobrazovať informácie o sklade kľúčov.

V nasledujúcich častiach si prejdeme rôzne funkcie tohto pomocného programu.

3. Vytvorenie certifikátu s vlastným podpisom

Najskôr si vytvorme certifikát s vlastným podpisom, ktorý by sa dal použiť napríklad na zabezpečenie bezpečnej komunikácie medzi projektmi v našom vývojovom prostredí.

Za účelom vygenerovať certifikát, otvoríme príkazový riadok a použijeme ho keytool príkaz s -genkeypair možnosť:

keytool -genkeypair -alias -keypass -validity -storepass 

Dozvieme sa viac o každom z týchto parametrov:

  • alias - názov nášho certifikátu
  • keypass - heslo certifikátu. Toto heslo budeme potrebovať, aby sme mali prístup k súkromnému kľúču nášho certifikátu
  • platnosť - čas (v dňoch) platnosti nášho certifikátu
  • skladový pas - heslo skladu kľúčov. Toto bude heslo úložiska kľúčov, ak obchod neexistuje

Napríklad vygenerujme certifikát s názvom „Cert1“ ktorý má súkromný kľúč z „Pass123“ a platí jeden rok. Tiež upresníme „Stpass123“ ako heslo úložiska kľúčov:

keytool -genkeypair -alias cert1 -keypass pass123 -validita 365 -storepass stpass123

Po vykonaní príkazu si vyžiada niektoré informácie, ktoré budeme musieť poskytnúť:

Aké je vaše meno a priezvisko? [Neznáme]: Názov Aký je názov vašej organizačnej jednotky? [Neznáme]: Jednotka Aký je názov vašej organizácie? [Neznáme]: Spoločnosť Ako sa volá vaše mesto alebo obec? [Neznáme]: Mesto Aký je názov vášho štátu alebo provincie? [Neznáme]: Štát Aký je dvojpísmenový kód krajiny pre túto jednotku? [Neznáme]: USA Je CN = meno, OU = jednotka, O = spoločnosť, L = mesto, ST = štát, C = USA správne? [nie ano

Ako už bolo spomenuté, ak sme úložisko kľúčov ešte nevytvorili, vytvorením tohto certifikátu sa vytvorí automaticky.

Mohli by sme tiež vykonať -genkeypair možnosť bez parametrov. Ak ich neposkytneme v príkazovom riadku a sú povinné, zobrazí sa výzva.

Všeobecne sa odporúča neposkytovať heslá (- klávesnica alebo -storepass) na príkazovom riadku v produkčnom prostredí.

4. Zoznam certifikátov v sklade kľúčov

Ďalej sa naučíme, ako na to prezerať certifikáty ktoré sú uložené v našom sklade kľúčov. Na tento účel použijeme - zoznam možnosť:

keytool -list -storepass 

Výstup vykonaného príkazu zobrazí certifikát, ktorý sme vytvorili:

Typ úložiska kľúčov: JKS Poskytovateľ úložiska kľúčov: SUN Vaše úložisko kľúčov obsahuje 1 záznam cert1, 02-ago-2020, PrivateKeyEntry, odtlačok certifikátu (SHA1): 0B: 3F: 98: 2E: A4: F7: 33: 6E: C4: 2E: 29 : 72: A7: 17: E0: F5: 22: 45: 08: 2F

Ak chceme získať informácie pre konkrétny certifikát, stačí zahrnúť - alias možnosť na náš príkaz. Ak chcete získať ďalšie informácie, ktoré nie sú predvolene poskytované, pridáme tiež -v (podrobná) možnosť:

keytool -list -v -alias -storepass 

Toto nám poskytne všetky informácie týkajúce sa požadovaného certifikátu:

Alias ​​názov: cert1 Dátum vytvorenia: 02-ago-2020 Typ záznamu: PrivateKeyEntry Dĺžka reťazca certifikátu: 1 Certifikát [1]: Vlastník: CN = Meno, OU = Jednotka, O = Spoločnosť, L = Mesto, ST = Štát, C = Americký emitent: CN = meno, OU = jednotka, O = spoločnosť, L = mesto, ST = štát, C = americké sériové číslo: 11d34890 Platné od: ne 2. augusta 20:25:14 SELČ 2020 do: po 2. augusta 20: 25:14 CEST 2021 Odtlačky certifikátu: MD5: 16: F8: 9B: DF: 2C: 2F: 31: F0: 85: 9C: 70: C3: 56: 66: 59: 46 SHA1: 0B: 3F: 98: 2E : A4: F7: 33: 6E: C4: 2E: 29: 72: A7: 17: E0: F5: 22: 45: 08: 2F SHA256: 8C: B0: 39: 9F: A4: 43: E2: D1: 57: 4A: 6A: 97: E9: B1: 51: 38: 82: 0F: 07: F6: 9E: CE: A9: AB: 2E: 92: 52: 7A: 7E: 98: 2D: CA Názov algoritmu podpisu : SHA256withDSA Subject Public Key Algorithm: 2048-bit DSA key Verzia: 3 Extensions: # 1: ObjectId: 2.5.29.14 Criticality = false SubjectKeyIdentifier [KeyIdentifier [0000: A1 3E DD 9A FB C0 9F 5D B5 BE 2E EC E2 87 CD 45 .> .....] ....... E 0010: FE 0B D7 55 ... U]]

5. Ďalšie funkcie

Okrem funkcií, ktoré sme už videli, je v tomto nástroji k dispozícii mnoho ďalších funkcií.

Napríklad môžeme vymazať certifikát sme vytvorili z úložiska kľúčov:

keytool -delete -alias -storepass 

Ďalším príkladom je, že to dokonca budeme môcť zmeniť alias certifikátu:

keytool -changealias -alias -destalias -keypass -storepass 

Nakoniec môžeme získať viac informácií o tomto nástroji požiadať o pomoc cez príkazový riadok:

keytool-help

6. Záver

V tomto rýchlom výučbe sme sa dozvedeli niečo o keytool užitočnosť. Naučili sme sa tiež používať niektoré základné funkcie zahrnuté v tomto nástroji.

Java dole

Práve som oznámil nové Naučte sa jar kurz zameraný na základy jari 5 a Spring Boot 2:

>> SKONTROLUJTE KURZ