Een .p12-bestand maken

Met behulp van opensslheb ik als volgt een privésleutel gemaakt:

openssl genrsa -out myKey.pem

Vervolgens, om de csrte genereren die door de CA wordt gevraagd, heb ik het volgende uitgevoerd:

openssl req -new -key myKey.pem -out cert.csr

De CA reageerde met een certificaat dat ik heb opgeslagen in een bestand met de naam myCert.cer

Ik wil nu de benodigde componenten (privésleutel, openbare sleutel(?) en certificaat) bundelen in een enkele .p12. Hiervoor heb ik het volgende uitgevoerd:

openssl pkcs12 -export -out keyStore.p12 -inkey myKey.pem -in myCert.cer

maar ik krijg de volgende foutmelding:

No certificate matches private key

Hoe kan ik dit bereiken?


Antwoord 1, autoriteit 100%

De openssldocumentatiezegt dat het bestand geleverd als de -inmoet de indeling PEMhebben.

Het blijkt dat, in tegenstelling tot de handleiding van de CA, het door de CA geretourneerde certificaat dat ik heb opgeslagen in myCert.cerniet de indeling PEMis, maar PKCS7.

Om mijn .p12te maken, moest ik eerst het certificaat converteren naar PEM:

openssl pkcs7 -in myCert.cer -print_certs -out certs.pem

en voer dan uit

openssl pkcs12 -export -out keyStore.p12 -inkey myKey.pem -in certs.pem

Antwoord 2, autoriteit 19%

Ik ben een probleem aan het oplossen dat ik heb met SSL-verbinding met een database (MySQL RDS) met behulp van een ORM genaamd Prisma. De databaseverbindingsreeks vereist een PKCS12-bestand (.p12) (indien geïnteresseerd, wordt hier), wat me hier bracht.

Ik weet dat de vraag is beantwoord, maar ik heb de volgende stappen gevonden (in Github Issue#2676 ) om behulpzaam te zijn bij het maken van een .p12-bestand en wilde delen. Veel succes!

  1. Genereer een 2048-bits RSA-privésleutel:

    openssl genrsa -out key.pem 2048

  2. Een ondertekeningsverzoek voor een certificaat genereren:

    openssl req -new -sha256 -key key.pem -out csr.csr

  3. Genereer een zelfondertekend x509-certificaat dat geschikt is voor gebruik op webservers.

    openssl req -x509 -sha256 -days 365 -key key.pem -in csr.csr -out certificate.pem

  4. Maak een SSL-identiteitsbestand in PKCS12 zoals hier vermeld

    openssl pkcs12 -export -out client-identity.p12 -inkey key.pem -in certificate.pem

Other episodes