Hoe u een .cer-certificaat kunt importeren in een Java KeyStore

Java Top

Ik heb zojuist het nieuwe aangekondigd Leer de lente natuurlijk, gericht op de basisprincipes van Spring 5 en Spring Boot 2:

>> BEKIJK DE CURSUS

1. Overzicht

Een KeyStore is, zoals de naam al doet vermoeden, in feite een opslagplaats van certificaten, openbare en privésleutels. Bovendien, JDK-distributies worden geleverd met een uitvoerbaar bestand om ze te helpen beheren, het belangrijk hulpmiddel.

Aan de andere kant kunnen certificaten veel extensies hebben, maar we moeten in gedachten houden dat een .cer-bestand bevat openbare X.509-sleutels en kan daarom alleen worden gebruikt voor identiteitsverificatie.

In dit korte artikel bekijken we hoe u een .cer bestand in een Java KeyStore.

2. Een certificaat importeren

Laten we zonder verder oponthoud nu het openbare Baeldung-certificaatbestand importeren in een voorbeeld KeyStore.

De belangrijk hulpmiddel heeft veel opties, maar degene waarin we geïnteresseerd zijn, is importcert wat net zo eenvoudig is als de naam. Omdat er meestal verschillende vermeldingen in een KeyStore zijn, moeten we de alias argument om het een unieke naam te geven:

> keytool -importcert -alias baeldung_public_cert -file baeldung.cer -keystore sample_keystore> Voer keystore-wachtwoord in: ...> Dit certificaat vertrouwen? [no]: y> Certificaat is toegevoegd aan keystore 

Hoewel de opdracht om een ​​wachtwoord en een bevestiging vraagt, kunnen we ze omzeilen door de extensie storepass en noprompt argumenten. Dit is vooral handig tijdens het hardlopen belangrijk hulpmiddel van een script:

> keytool -importcert -alias baeldung_public_cert -file baeldung.cer -keystore sample_keystore -storepass pass123 -noprompt> Certificaat is toegevoegd aan keystore

Bovendien, als de KeyStore niet bestaat, wordt deze automatisch gegenereerd. In dit geval, we kunnen het formaat instellen via de winkel type argument. Indien niet gespecificeerd, is de KeyStore-indeling standaard JKS als we Java 8 of ouder gebruiken. Vanaf Java 9 is het standaard PKCS12:

> keytool -importcert -alias baeldung_public_cert -file baeldung.cer -keystore sample_keystore -storetype PKCS12> Voer keystore-wachtwoord in:> Voer nieuw wachtwoord opnieuw in: ...> Dit certificaat vertrouwen? [no]: y> Certificaat is toegevoegd aan keystore 

Hier hebben we een PKCS12 KeyStore gemaakt. Het belangrijkste verschil tussen JKS en PKCS12 is dat JKS een Java-specifiek formaat is, terwijl PKCS12 een gestandaardiseerde manier is om sleutels en certificaten op te slaan

Indien nodig kunnen we deze bewerkingen ook programmatisch uitvoeren.

3. Conclusie

In deze tutorial hebben we besproken hoe je een .cer-bestand in een KeyStore kunt importeren. Om dat te doen, hebben we de keytool's importcert keuze.

Java onderkant

Ik heb zojuist het nieuwe aangekondigd Leer de lente natuurlijk, gericht op de basisprincipes van Spring 5 en Spring Boot 2:

>> BEKIJK DE CURSUS