Java >> Java tutorial >  >> Tag >> import

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

1. Oversigt

En KeyStore, som navnet antyder, er dybest set et lager af certifikater, offentlige og private nøgler. Desuden sendes JDK-distributioner med en eksekverbar fil for at hjælpe med at administrere dem, nøgleværktøjet .

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

I denne korte artikel tager vi et kig på, hvordan man importerer en .cer fil i en Java KeyStore.

2. Import af et certifikat

Lad os nu uden videre importere Baeldungs ​​offentlige certifikatfil i et eksempel på KeyStore.

nøgleværktøjet har mange muligheder, men den vi er interesseret i er importcert som er lige så ligetil som navnet. Da der normalt er forskellige poster 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 -file baeldung.cer -keystore sample_keystore
> Enter keystore password:
...
> Trust this certificate? [no]:  y
> Certificate was added to keystore

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

> keytool -importcert -alias baeldung_public_cert -file baeldung.cer -keystore sample_keystore -storepass pass123 -noprompt
> Certificate was added to keystore

Ydermere, hvis KeyStore ikke eksisterer, vil den automatisk blive genereret. I dette tilfælde kan vi indstille formatet gennem butikstypen argument. Hvis det ikke er angivet, er KeyStore-formatet som standard JKS hvis vi bruger Java 8 eller ældre. Fra Java 9 er den standard til PKCS12 :

> keytool -importcert -alias baeldung_public_cert -file baeldung.cer -keystore sample_keystore -storetype PKCS12
> Enter keystore password:
> Re-enter new password:
...
> Trust this certificate? [no]: y
> Certificate was added to keystore

Her har vi oprettet en PKCS12 KeyStore. Den største forskel mellem JKS og PKCS12 er, at JKS er et Java-specifikt format, mens PKCS12 er en standardiseret måde at gemme 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 i en KeyStore. For at gøre det brugte vi nøgleværktøjets importcertifikat mulighed.


Java tag