17 exemple de comenzi Keytool pe care să le cunoașteți ca administrator de sistem și dezvoltator

Keytool este un utilitar de linie de comandă care vă permite să gestionați/să stocați chei criptografice și certificate.

Dacă sistemul dvs. are Java instalat, puteți utiliza comanda keytool pentru a importa un certificat CA, a lista certificate, a crea certificate autosemnate, a stoca fraze de acces și chei publice/private și pentru a face multe alte lucruri.

Confuz? nu te supara; Îl voi explica în termeni mai simpli pe măsură ce citiți.

Rețineți că folosesc Linux pentru a testa comenzile și pentru a vă explica puțin mai multe despre asta cu exemple.

Puteți utiliza comenzile Keytool și pe Windows și macOS.

Ce este o comandă Keytool?

Este un utilitar de gestionare a cheilor și certificatelor. Vă permite să stocați perechi de chei private/publice, care sunt de obicei pentru a verifica/autentifica accesul la servicii.

Având în vedere titlul acestui articol, se poate presupune că comanda este utilizată în principal de administratorii de sistem și dezvoltatorii.

În cea mai mare parte, da, dar un utilizator poate fi creativ cu comanda keytool pentru a stoca fraze de acces și chei secrete în scopuri de autentificare, criptare și decriptare. Deci, dacă sunteți curios, ar trebui să îl încercați pe sistemul dvs.

  Care este cel mai bun verificator gratuit de plagiat?

Dacă sunteți nou în conceptul de chei criptografice, vă recomandăm să consultați articolul nostru despre criptarea datelor înainte de a încerca comenzile keytool.

În plus, consultarea exemplelor de comandă OpenSSL vă poate oferi, de asemenea, o idee despre cum este diferită și ce puteți face cu oricare dintre ele.

Creați un certificat autosemnat

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

Spre deosebire de un certificat SSL pe care îl achiziționați, un certificat autosemnat este utilizat numai în scopuri de dezvoltare/testare pentru a utiliza o conexiune securizată.

Puteți genera unul folosind sintaxa comenzii keytool menționată mai sus. De exemplu, iată cum arată:

keytool -genkeypair -alias tipstrick.ro -keypass passforkeystore -validity 365 -storepass passforkeystore

Puteți folosi orice nume pentru alias; Folosesc tipstrick.ro ca text substituent. Puteți personaliza valabilitatea și specifica o parolă pentru Keystore care înlocuiește „passforkeystore” în comanda de mai sus.

Rețineți că doar o singură parolă este acceptată pentru KeyStores PKCS12. Cu toate acestea, este un tip de Keystore convenabil care nu este specific Java.

Dacă aveți nevoie de două parole diferite pentru depozitul de chei și pentru certificat, este posibil să doriți să spuneți în mod explicit comenzii keytool să folosească o altă interfață.

Puteți citi mai multe despre el în documentația sa oficială.

Odată ce continuați cu crearea, acesta va solicita detalii suplimentare pentru autenticitate. Iată cum ar trebui să arate:

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

Creați un depozit de chei Java și o pereche de chei

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

Generați un depozit de chei Java și importați un certificat

Asigurați-vă că aveți un certificat valid sau ați generat unul mai devreme; odată terminat, îl puteți importa și genera un Java Keystore.

keytool -importcert -file test.crt -keystore truststore.jks -alias tipstrick.ro

Generați o pereche de chei în depozitul de chei implicit cu subiect

Puteți genera rapid o pereche de taste (să spunem cu numele „ca”) folosind următoarea comandă:

keytool -alias ca -dname CN=CA -genkeypair

Creați un lanț de certificate semnate

Să presupunem că ați creat perechi de chei ca și ca1. Puteți crea un lanț de certificate semnate în care ca va semna ca1 cu următoarele comenzi:

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

Puteți completa lanțul cu încă două perechi de chei ca1 și ca2, unde ca1 va semna ca2.

  Utilizați funcția de măturare încorporată în Outlook Online pentru a șterge e-mailurile nedorite

Importul unui certificat

Dacă doriți să importați un certificat dintr-un fișier disponibil, iată ce puteți face:

keystool -import -alias tipstrick.ro -file geekflareserver.cer

Creați o cerere de semnare a certificatului (CSR) pentru depozitul de chei existent

Având în vedere că ați creat deja un Keystore, puteți genera un CSR.

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

Listează certificatele stocate în Java Keystore

Un depozit de chei poate avea mai multe intrări de certificate. Presupunând că verificăm lista de certificate din baza de date „keystore.jks”, iată ce trebuie să introducem:

keytool -v -list -keystore keystore.jks

Ieșirea pentru aceasta va arăta astfel:

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

Verificați conținutul unui singur certificat

Având în vedere că aveți deja un certificat generat, puteți verifica mai multe despre acesta folosind următoarele:

keytool -v -printcert -file server.crt

Vedeți certificatele într-un depozit de chei Java

Puteți lista toate certificatele dintr-o bază de date Keystore. Iată cum arată comanda:

keytool -v -list -keystore keystore.jks

Vizualizați depozitul de chei folosind un alias și un depozit de chei

Dacă doriți să verificați un depozit de chei folosind numele de alias pe care l-ați setat la crearea acestuia, introduceți următoarele:

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

Listează certificatele în KeyStore

Dacă doriți să verificați certificatele stocate în Keystore implicit, utilizați comanda:

keytool -list -storepass passforkeystore

Trebuie să înlocuiți „passforkeystore” cu parola pe care ați setat-o.

  Instrumente de scanare cu 10 porturi pentru scanarea avansată de către administratorii de rețea

Vedeți informații despre certificat

Dacă trebuie să verificați detaliile pentru un singur certificat, puteți utiliza aliasul acestuia fără a specifica baza de date keystone.

Iată cum arată:

keytool -list -v -alias tipstrick.ro -storepass passforkeystore

Vedeți certificatul în format PEM

PEM este unul dintre cele mai comune formate pentru certificate și chei criptografice. Dacă doriți să verificați un certificat cu PEM, introduceți următoarele:

keytool -v -printcert -file tipstrick.ro.crt -rfc

Schimbați o parolă Java Keystore

Dacă ați creat deja o parolă pentru Java Keystore, puteți schimba parola folosind comanda:

keytool -delete -alias tipstrick.ro -keystore keystore.jks

Ștergeți un certificat din Java Keystore

Puteți specifica Java Keystore și aliasul acestuia pentru a-l șterge. De exemplu:

keytool -delete -alias tipstrick.ro -keystore keystore.jks

Explorați comanda și obțineți ajutor

Comanda are mai multe argumente și extensii pentru a face multe lucruri. În funcție de cazul dvs. de utilizare, este posibil să fie necesar sau nu să le utilizați pe toate.

Deci, dacă doriți să vă aprofundați în opțiunile de comandă, puteți oricând să tastați:

keytool -help

În ambele cazuri, dacă utilizați un terminal Linux, aș recomanda să citiți pagina de manual (manual) cu această comandă:

man keytool

Cu comanda man, puteți obține toate detaliile de care aveți nevoie despre comanda keytool.

Așadar, păstrează-ți superputerea pentru a afla tot ce poți despre ea!

Încheierea

Calea fișierelor și alte opțiuni de personalizare ar putea fi puțin diferite de platforma pe care o utilizați. Puteți consulta și documentația Oracle pentru opțiunile standardizate.

Keytool este un instrument excelent pentru o serie de sarcini. Testează-l și vezi ce poți face cu el!

De asemenea, puteți explora câteva comenzi Linux pentru a menține și a menține sistemele să funcționeze optim.