Uvod u keytool

Java Top

Upravo sam najavio novo Uči proljeće tečaj, usredotočen na osnove Spring 5 i Spring Boot 2:

>> PROVJERITE TEČAJ

1. Pregled

U ovom kratkom vodiču predstavit ćemo alat za ključeve naredba. Naučit ćemo kako se koristiti alat za ključeve da biste stvorili novi certifikat i provjerili podatke za taj certifikat.

2. Što je alat za ključeve?

Java uključuje alat za ključeve uslužni program u svojim izdanjima. Koristimo ga za upravljati ključevi i potvrde i spremite ih u trgovinu ključeva. The alat za ključeve naredba nam omogućuje stvaranje samopotpisanih certifikata i prikaz podataka o pohrani ključeva.

U sljedećim odjeljcima proći ćemo kroz različite funkcije ovog uslužnog programa.

3. Izrada samopotpisanog certifikata

Prije svega, izradimo samopotpisani certifikat koji bi se mogao koristiti za uspostavljanje sigurne komunikacije između projekata u našem razvojnom okruženju, na primjer.

Da bi generirati potvrdu, otvorit ćemo naredbeni redak i koristiti alat za ključeve naredba s -genkeypair opcija:

alat za ključeve -genkeypair -alias -keypass -validnost -storepass 

Naučimo više o svakom od ovih parametara:

  • alias - naziv za našu potvrdu
  • tipkovnica - lozinka certifikata. Ova lozinka trebat će nam za pristup privatnom ključu našeg certifikata
  • valjanost - vrijeme (u danima) valjanosti naše potvrde
  • spremište - lozinka za pohranu ključeva. Ovo će biti lozinka pohrane ključeva ako trgovina ne postoji

Na primjer, generirajmo certifikat s imenom "Cert1" koji ima privatni ključ od "Pass123" i vrijedi godinu dana. Također ćemo navesti "Stpass123" kao lozinka pohrane ključeva:

keytool -genkeypair -alias cert1 -keypass pass123 -validnost 365 -storepass pass123

Nakon izvršavanja naredbe, zatražit će neke informacije koje ćemo trebati pružiti:

Koje je vaše ime i prezime? [Nepoznato]: Ime Kako se zove vaša organizacijska jedinica? [Nepoznato]: Jedinica Kako se zove vaša organizacija? [Nepoznato]: Tvrtka Kako se zove vaš grad ili mjesto? [Nepoznato]: Grad Kako se zove vaša država ili provincija? [Nepoznato]: Država Koji je dvoslovni kod države za ovu jedinicu? [Nepoznato]: SAD je li CN = naziv, OU = jedinica, O = tvrtka, L = grad, ST = država, C = SAD točan? [ne da

Kao što je spomenuto, ako nismo prije stvorili pohranu ključeva, stvaranje ovog certifikata stvorit će ga automatski.

Također bismo mogli izvršiti -genkeypair opcija bez parametara. Ako ih ne unesemo u naredbeni redak i ako su obavezni, od nas će se zatražiti.

Imajte na umu da se obično savjetuje da ne daju lozinke (-ključnica ili -državni prolaz) na naredbenom retku u proizvodnim okruženjima.

4. Popis certifikata u trgovini ključeva

Dalje, naučit ćemo kako pregledati potvrde koji su pohranjeni u našoj pohrani ključeva. U tu svrhu koristit ćemo -popis opcija:

keytool -list -storepass 

Izlaz za izvršenu naredbu prikazat će certifikat koji smo stvorili:

Tip pohrane ključeva: JKS Davatelj pohrane ključeva: SUN Vaša pohrana ključeva sadrži 1 unos cert1, 02. 02. 2020., PrivateKeyEntry, otisak prsta certifikata (SHA1): 0B: 3F: 98: 2E: A4: F7: 33: 6E: C4: 2E: 29 : 72: A7: 17: E0: F5: 22: 45: 08: 2F

Ako želimo dobiti podaci za konkretnu potvrdu, samo trebamo uključiti -alias opcija za našu naredbu. Da bismo dobili dodatne informacije od zadanih, dodat ćemo i -v (opširna) opcija:

keytool -list -v -alias -storepass 

Ovo će nam pružiti sve informacije povezane sa zatraženom potvrdom:

Ime pseudonima: cert1 Datum kreiranja: 02-prije-2020 Tip unosa: PrivateKeyEntry Duljina lanca certifikata: 1 Certifikat [1]: Vlasnik: CN = Ime, OU = Jedinica, O = Tvrtka, L = Grad, ST = Država, C = Američki izdavatelj: CN = Ime, OU = Jedinica, O = Tvrtka, L = Grad, ST = Država, C = Američki serijski broj: 11d34890 Vrijedi od: Nedjelje 02. 02. 20:25:14 CEST 2020. do: Ponedjeljka 02. 20. 20: 25:14 CEST 2021 otisci certifikata: 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 Naziv algoritma za potpis : SHA256withDSA Subject Public Key Algoritam: 2048-bitni DSA ključ Verzija: 3 Proširenja: # 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. Ostale značajke

Osim funkcionalnosti koje smo već vidjeli, u ovom je alatu dostupno mnogo dodatnih značajki.

Na primjer, možemo izbriši potvrdu stvorili smo iz pohrane ključeva:

alat za ključeve -brisati -alias -prelaz 

Drugi je primjer da ćemo čak i moći promijeniti zamjensko ime certifikata:

alat za ključeve -changealias -alias -destalias -keypass -storepass 

Napokon, možemo dobiti više informacija o alatu pitati za pomoć kroz naredbeni redak:

alat za ključeve -pomoć

6. Zaključak

U ovom smo brzom vodiču saznali malo o alat za ključeve korisnost. Također smo naučili koristiti neke osnovne značajke uključene u ovaj alat.

Dno Java

Upravo sam najavio novo Uči proljeće tečaj, usredotočen na osnove Spring 5 i Spring Boot 2:

>> PROVJERITE TEČAJ