Úvod do keytool
Práve som oznámil nové Naučte sa jar kurz zameraný na základy jari 5 a Spring Boot 2:
>> SKONTROLUJTE KURZ1. 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