17 Keytool Command Eksempler å kjenne som Sysadmin og utvikler

Keytool er et kommandolinjeverktøy som lar deg administrere/lagre kryptografiske nøkler og sertifikater.

Hvis systemet ditt har Java installert, kan du bruke nøkkelverktøy-kommandoen til å importere et CA-sertifikat, liste opp sertifikater, lage selvsignerte sertifikater, lagre passordfraser og offentlige/private nøkler og gjøre mange flere ting.

Forvirret? Ikke bekymre deg; Jeg vil forklare det i enklere termer mens du leser.

Merk at jeg bruker Linux for å teste kommandoene og forklare deg litt mer om det med eksempler.

Du kan også bruke Keytool-kommandoer på Windows og macOS.

Hva er en nøkkelverktøykommando?

Det er et nøkkel- og sertifikatadministrasjonsverktøy. Den lar deg lagre private/offentlige nøkkelpar, som vanligvis skal verifisere/autentisere tilgang til tjenester.

Med tanke på tittelen på denne artikkelen, kan man anta at kommandoen hovedsakelig brukes av systemadministratorer og utviklere.

For det meste, ja, men en bruker kan være kreativ med nøkkelverktøy-kommandoen for å lagre passordfraser og hemmelige nøkler for autentisering, kryptering og dekrypteringsformål. Så hvis du er nysgjerrig, bør du prøve det på systemet ditt.

Hvis du er ny på konseptet med kryptografiske nøkler, kan det være lurt å sjekke artikkelen vår om datakryptering før du prøver nøkkelverktøykommandoer.

  12 plattformer for å lage porteføljenettstedet ditt på få minutter

Videre kan å sjekke ut OpenSSL-kommandoeksemplene også gi deg en ide om hvordan det er annerledes og hva du kan gjøre med noen av dem.

Opprett et selvsignert sertifikat

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

I motsetning til et SSL-sertifikat du kjøper, brukes et selvsignert sertifikat kun til utviklings-/testingsformål for å bruke en sikker tilkobling.

Du kan generere en ved å bruke keytool-kommandosyntaksen nevnt ovenfor. For eksempel, slik ser det ut:

keytool -genkeypair -alias tipsbilk.net -keypass passforkeystore -validity 365 -storepass passforkeystore

Du kan bruke hvilket som helst navn for aliaset; Jeg bruker tipsbilk.net som plassholdertekst. Du kan tilpasse gyldigheten og spesifisere et passord for Keystore som erstatter «passforkeystore» i kommandoen ovenfor.

Merk at bare ett passord støttes for PKCS12 KeyStores. Det er imidlertid en praktisk Keystore-type som ikke er Java-spesifikk.

Hvis du trenger to forskjellige passord for nøkkellageret og sertifikatet, vil du kanskje eksplisitt fortelle keytool-kommandoen om å bruke et annet grensesnitt.

Du kan lese mer om det i den offisielle dokumentasjonen.

Når du fortsetter med opprettelsen, vil den be om ytterligere detaljer for autentisitet. Slik skal det se ut:

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

Opprett et Java-nøkkellager og et nøkkelpar

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

Generer et Java-nøkkellager og importer et sertifikat

Sørg for at du har et gyldig sertifikat eller har generert et tidligere; når du er ferdig, kan du importere den og generere en Java Keystore.

keytool -importcert -file test.crt -keystore truststore.jks -alias tipsbilk.net

Generer et nøkkelpar til standard nøkkellager med emne

Du kan raskt generere et nøkkelpar (si med navnet «ca») ved å bruke følgende kommando:

keytool -alias ca -dname CN=CA -genkeypair

Lag en kjede med signerte sertifikater

Anta at du har laget nøkkelpar av ca, og ca1. Du kan opprette en kjede med signerte sertifikater der ca vil signere ca1 med følgende kommandoer:

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

Du kan fullføre kjeden med ytterligere to nøkkelpar ca1 og ca2, hvor ca1 vil signere ca2.

  Slik laster du ned apper som ikke lenger er i telefonens App Store

Importere et sertifikat

Hvis du vil importere et sertifikat fra en tilgjengelig fil, kan du gjøre følgende:

keystool -import -alias tipsbilk.net -file geekflareserver.cer

Opprett en forespørsel om sertifikatsignering (CSR) for det eksisterende nøkkellageret

Med tanke på at du allerede har opprettet et nøkkellager, kan du generere en CSR.

keytool -certreq -keyalg rsa -keystore keystore.jks -alias server -file tipsbilk.net.csr

Liste sertifikater lagret i Java Keystore

Et nøkkellager kan ha flere oppføringer av sertifikater. Forutsatt at vi sjekker listen over sertifikater i «keystore.jks»-databasen, er dette det vi trenger å skrive inn:

keytool -v -list -keystore keystore.jks

Utgangen for dette vil se slik ut:

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

Sjekk innholdet i et enkelt sertifikat

Med tanke på at du allerede har et generert sertifikat, kan du sjekke mer om det ved å bruke følgende:

keytool -v -printcert -file server.crt

Se sertifikater i en Java Keystore

Du kan liste alle sertifikatene fra en nøkkellagerdatabase. Slik ser kommandoen ut:

keytool -v -list -keystore keystore.jks

Vis nøkkellager ved hjelp av et alias og nøkkellager

Hvis du vil sjekke et nøkkellager ved å bruke aliasnavnet som du anga da du opprettet det, skriv inn følgende:

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

Liste sertifikater i KeyStore

Hvis du vil sjekke sertifikatene som er lagret i standard nøkkellager, bruk kommandoen:

keytool -list -storepass passforkeystore

Du må erstatte «passforkeystore» med passordet du har angitt.

  Hold en videokonferansesamtale der ingen trenger en konto

Se sertifikatinformasjon

Hvis du trenger å sjekke detaljene for et enkelt sertifikat, kan du bruke aliaset uten å spesifisere keystone-databasen.

Slik ser det ut:

keytool -list -v -alias tipsbilk.net -storepass passforkeystore

Se sertifikatet i PEM-format

PEM er et av de vanligste formatene for sertifikater og kryptografiske nøkler. Hvis du vil sjekke et sertifikat med PEM, skriv inn følgende:

keytool -v -printcert -file tipsbilk.net.crt -rfc

Endre et Java Keystore-passord

Hvis du allerede har opprettet et passord for Java Keystore, kan du endre passordet ved å bruke kommandoen:

keytool -delete -alias tipsbilk.net -keystore keystore.jks

Slett et sertifikat fra Java Keystore

Du kan spesifisere Java Keystore og dets alias for å slette det. For eksempel:

keytool -delete -alias tipsbilk.net -keystore keystore.jks

Utforsk kommandoen og få hjelp

Kommandoen har flere argumenter og utvidelser for å få mange ting gjort. Avhengig av bruken din, kan det hende du trenger å bruke dem alle.

Så hvis du vil dykke i dybden for kommandoalternativene, kan du alltid skrive inn:

keytool -help

I begge tilfeller, hvis du bruker en Linux-terminal, vil jeg anbefale å lese man (manual) siden med denne kommandoen:

man keytool

Med man-kommandoen kan du få alle detaljene du trenger om keytool-kommandoen.

Så hold det som superkraft for å lære alt du kan om det!

Innpakning

Banen til filer og andre tilpasningsalternativer kan være litt forskjellig fra plattformen du bruker. Du kan også referere til Oracles dokumentasjon for de standardiserte alternativene.

Keytool er et utmerket verktøy for en rekke oppgaver. Test den ut og se hva du kan gjøre med den!

Du kan også utforske noen Linux-kommandoer for å vedlikeholde og holde systemene i gang optimalt.