Sådan importeres et .cer-certifikat til en Java KeyStore

Java Top

Jeg har lige annonceret det nye Lær foråret kursus med fokus på det grundlæggende i Spring 5 og Spring Boot 2:

>> KONTROLLER KURSEN

1. Oversigt

En KeyStore er, som navnet antyder, dybest set et lager af certifikater, offentlige og private nøgler. I øvrigt, JDK-distributioner leveres med en eksekverbar fil, der hjælper med at administrere dem, the nøgleværktøj.

På den anden side kan certifikater have mange udvidelser, men vi skal huske på, at a .cer-filen indeholder offentlige X.509-nøgler, og den kan således kun bruges til identitetsbekræftelse.

I denne korte artikel vil vi se på, hvordan du importerer en .cer fil til en Java KeyStore.

2. Import af et certifikat

Uden yderligere ado, lad os nu importere den offentlige Baeldung-certifikatfil inde i en prøve KeyStore.

Det nøgleværktøj har mange muligheder, men den, vi er interesseret i, er importcert som er lige så ligetil som navnet. Da der normalt er forskellige poster inde i en KeyStore, bliver vi nødt til at bruge alias argument for at tildele det et unikt navn:

> keytool -importcert -alias baeldung_public_cert -fil baeldung.cer -keystore sample_keystore> Indtast adgangskode til keystore: ...> Stol på dette certifikat? [no]: y> Certifikat blev føjet til keystore 

Selvom kommandoen beder om en adgangskode og en bekræftelse, kan vi omgå dem ved at tilføje lagerplads og noprompt argumenter. Dette er især praktisk, når du kører nøgleværktøj fra et script:

> keytool -importcert -alias baeldung_public_cert -fil baeldung.cer -keystore sample_keystore -storepass pass123 -noprompt> Certifikat blev føjet til keystore

Desuden, hvis KeyStore ikke findes, genereres den automatisk. I dette tilfælde, vi kan indstille formatet gennem lagertype argument. Hvis ikke angivet, er KeyStore-formatet som standard JKS hvis vi bruger Java 8 eller ældre. Fra Java 9 er det som standard PKCS12:

> keytool -importcert -alias baeldung_public_cert -fil baeldung.cer -keystore sample_keystore -storetype PKCS12> Indtast adgangskode til keystore:> Indtast ny adgangskode: ...> Stol på dette certifikat? [no]: y> Certifikat blev føjet til keystore 

Her har vi oprettet en PKCS12 KeyStore. Hovedforskellen mellem JKS og PKCS12 er, at JKS er et Java-specifikt format, mens PKCS12 er en standardiseret måde at lagre nøgler og certifikater på.

Hvis vi har brug for det, kan vi også udføre disse operationer programmatisk.

3. Konklusion

I denne vejledning gennemgik vi, hvordan man importerer en .cer-fil inde i en KeyStore. For at gøre det brugte vi keytool's importcert mulighed.

Java bund

Jeg har lige annonceret det nye Lær foråret kursus med fokus på det grundlæggende i Spring 5 og Spring Boot 2:

>> KONTROLLER KURSEN