Sitepictogram SSL.com

Exporteer certificaten en privésleutel uit een PKCS # 12-bestand met OpenSSL

Opmerking: Dit artikel is niet van toepassing op SSL.com-certificaten voor codeondertekening en documentondertekening. De privésleutels van dit soort certificaten kunnen niet worden geëxporteerd en kunnen niet worden gegenereerd als .pfx-bestanden. SSL.com-certificaten voor codeondertekening en documentondertekening en hun privésleutels kunnen alleen worden gegenereerd en opgeslagen in de eSigner-cloudondertekeningsomgeving, een Yubikey apparaat of een ondersteund Cloud-HSM.

Deze handleiding helpt u bij het extraheren van informatie uit een PKCS # 12-bestand met OpenSSL. PKCS # 12 (ook bekend als PKCS12 of PFX) is een binair formaat voor het opslaan van een certificaatketen en privésleutel in een enkel, versleuteld bestand. PKCS # 12-bestanden worden vaak gebruikt om certificaten en privésleutels op Windows- en macOS-computers te importeren en exporteren, en hebben meestal de bestandsnaamextensies .p12 or .pfx.

Voor meer handige instructies en het laatste nieuws over cyberbeveiliging, kunt u zich hier aanmelden voor de nieuwsbrief van SSL.com:

Wat is OpenSSL?
OpenSSL is een zeer nuttige open-source opdrachtregel-toolkit om mee te werken X.509 certificaten, aanvragen voor certificaatondertekening (CSRs) en cryptografische sleutels. Als u een UNIX-variant zoals Linux of macOS gebruikt, is OpenSSL waarschijnlijk al op uw computer geïnstalleerd. Als u OpenSSL op Windows wilt gebruiken, kunt u Het Linux-subsysteem van Windows 10 of installeer Cygwin. Dat kan ook gemakkelijk en je merk te creëren een PKCS # 12-bestand met openSSL.

SSL.com biedt een breed scala aan SSL /TLS server certificaten voor HTTPS-websites.

VERGELIJK SSL /TLS CERTIFICATEN

Video

https://www.youtube.com/watch?v=S_imVMFOdhU

Vervang in alle onderstaande voorbeelden de namen van de bestanden waarmee u daadwerkelijk werkt INFILE.p12, OUTFILE.crt en OUTFILE.key.

Bekijk PKCS # 12-informatie op het scherm

Om alle informatie in een PKCS # 12-bestand naar het scherm te dumpen PEM-formaat, gebruik deze opdracht:

openssl pkcs12 -info -in INFILE.p12 -knooppunten

U wordt vervolgens gevraagd om het wachtwoord van het PKCS # 12-bestand:

Voer het importwachtwoord in:

Typ het wachtwoord dat u hebt ingevoerd bij het maken van het PKCS # 12-bestand en druk op enter. OpenSSL zal alle certificaten en privésleutels in het bestand naar het scherm sturen:

Bag Attributes localKeyID: AC 3E 77 9A 99 62 84 3D 77 CB 44 0D F9 78 57 7C 08 28 05 97 subject = / CN = Aaron Russell/emailAddress=*********@gmail.com uitgever = / C = US / ST = Texas / L = Houston / O = SSL Corp / CN = SSL.com clientcertificaat Intermediate CA RSA R1 ----- BEGIN CERTIFICATE ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1MlHLu2- +++

Privésleutel versleutelen

Als u de privésleutel wilt coderen en deze met een wachtwoord wilt beveiligen voordat u deze uitvoert, laat u de -nodes vlag van de opdracht:

openssl pkcs12 -info -in INFILE.p12

In dit geval wordt u gevraagd om een ​​nieuw wachtwoord in te voeren en te verifiëren nadat OpenSSL alle certificaten heeft uitgevoerd, en de privésleutel wordt gecodeerd (merk op dat de tekst van de sleutel begint met -----BEGIN ENCRYPTED PRIVATE KEY-----):

Voer PEM pass phrase: Verifying - Voer PEM pass phrase: ----- BEGIN VERSLEUTELDE PRIVATE KEY ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END VERSLEUTELD PRIVE SLEUTEL-----

Pak alleen certificaten of privésleutel uit

Voeg toe als u alleen de persoonlijke sleutel wilt uitvoeren -nocerts aan de opdracht:

openssl pkcs12 -info -in INFILE.p12 -knooppunten -nocerts

Gebruik als u alleen de certificaten nodig heeft -nokeys (en aangezien we ons geen zorgen maken over de privésleutel, kunnen we deze ook veilig weglaten -nodes):

openssl pkcs12 -info -in INFILE.p12 -nokeys

Bewaar certificaten en privésleutels in bestanden

U kunt de certificaten en de geheime sleutel uit een PKCS # 12-bestand exporteren en ze in PEM-indeling opslaan in een nieuw bestand door een uitvoerbestandsnaam op te geven:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -knooppunten

Nogmaals, u wordt gevraagd om het wachtwoord van het PKCS # 12-bestand. Net als voorheen kunt u de privésleutel versleutelen door het -nodes vlag van de opdracht en / of toevoegen -nocerts or -nokeys om alleen de persoonlijke sleutel of certificaten uit te voeren. Dus om een ​​privésleutelbestand te genereren, kunnen we deze opdracht gebruiken:

openssl pkcs12 -in INFILE.p12 -uit OUTFILE.key -nodes -nocerts

En gebruik dit om een ​​bestand te maken dat alleen de certificaten bevat:

openssl pkcs12 -in INFILE.p12 -uit OUTFILE.crt -nokeys

Converteer privésleutel naar PKCS # 1-indeling

De bovenstaande voorbeelden geven allemaal de privésleutel weer in de standaardinstelling van OpenSSL PKCS # 8 formaat. Als je weet dat je het nodig hebt PKCS # 1 in plaats daarvan kunt u de uitvoer van het PKCS # 12-hulpprogramma van OpenSSL naar het RSA- of EC-hulpprogramma sturen, afhankelijk van het sleuteltype. Beide onderstaande opdrachten zullen een sleutelbestand in PKCS # 1-indeling uitvoeren:

RSA

openssl pkcs12 -in INFILE.p12 -knooppunten -nocerts | openssl rsa -out OUTFILE.key

ECDSA

openssl pkcs12 -in INFILE.p12 -knooppunten -nocerts | openssl ec -out OUTFILE.key

Opmerking: U kunt het verschil zien tussen PKCS # 8 en PKCS # 1 privésleutelbestanden door naar de eerste regel tekst te kijken. PKCS # 1-bestanden specificeren het algoritme:
-----BEGIN RSA PRIVATE KEY-----

PKCS # 8-bestanden tonen het algoritme niet en kunnen ook worden gecodeerd:
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----


Bedankt voor het kiezen van SSL.com! Als u vragen heeft, neem dan contact met ons op via e-mail op Support@SSL.com, bel 1-877-SSL-SECURE, of klik gewoon op de chatlink rechts onderaan deze pagina.
Verlaat de mobiele versie