Eksporter sertifikater og privat nøkkel fra en PKCS # 12-fil med OpenSSL

Hvordan trekke ut sertifikatene og den private nøkkelen fra en PKCS # 12-fil (også kjent som PKCS12, PFX, .p12 og .pfx) med OpenSSL.

Relatert innhold

Vil du fortsette å lære?

Abonner på SSL.coms nyhetsbrev, hold deg informert og sikker.

OBS: Denne artikkelen gjelder ikke for SSL.com-kodesignering og dokumentsigneringssertifikater. De private nøklene til denne typen sertifikater kan ikke eksporteres og de kan ikke genereres som .pfx-filer. SSL.com-kodesignerings- og dokumentsigneringssertifikater og deres private nøkler kan bare genereres og lagres i eSigner skysigneringsmiljøen yubikey enhet, eller en støttet Cloud HSM.

Denne fremgangsmåten vil lede deg gjennom å trekke ut informasjon fra en PKCS # 12-fil med OpenSSL. PKCS # 12 (også kjent som PKCS12 eller PFX) er et binært format for lagring av en sertifikatkjede og privat nøkkel i en enkelt, krypterbar fil. PKCS # 12-filer brukes ofte til å importere og eksportere sertifikater og private nøkler på Windows- og macOS-datamaskiner, og har vanligvis filnavnutvidelser .p12 or .pfx.

For flere nyttige veiledninger og de siste cybersikkerhetsnyhetene, registrer deg for SSL.coms nyhetsbrev her:

Hva er OpenSSL?
OpenSSL er en veldig nyttig åpen kildekode-kommandolinjeverktøysett for å jobbe med X.509 sertifikater, sertifikatsigneringsforespørsler (CSRs), og kryptografiske nøkler. Hvis du bruker en UNIX-variant som Linux eller macOS, er sannsynligvis OpenSSL allerede installert på datamaskinen din. Hvis du vil bruke OpenSSL på Windows, kan du aktivere Windows 10s Linux-delsystem eller installer Cygwin. Du kan også enkelt skape en PKCS # 12-fil med openSSL.

SSL.com tilbyr et bredt utvalg av SSL /TLS serversertifikater for HTTPS-nettsteder.

SAMMENLIGN SSL /TLS SERTIFIKATER

Video

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

I alle eksemplene vist nedenfor, bytt ut navnene på filene du faktisk jobber med INFILE.p12, OUTFILE.crtog OUTFILE.key.

Vis PKCS # 12-informasjon på skjermen

For å dumpe all informasjonen i en PKCS # 12-fil til skjermen i PEM-format, bruk denne kommandoen:

openssl pkcs12 -info -in INFILE.p12 -noder

Du blir deretter bedt om å oppgi passordet til PKCS # 12-filen:

Skriv inn importpassord:

Skriv inn passordet som ble lagt inn når du oppretter PKCS # 12-filen, og trykk på enter. OpenSSL sender ut eventuelle sertifikater og private nøkler i filen til skjermen:

Bag Attributter 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 utsteder = / C = USA / ST = Texas / L = Houston / O = SSL Corp / CN = SSL.com klientsertifikat Intermediate CA RSA R1 ----- BEGIN sERTIFIKAT ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1Ml2r83JFDc ---- BiS0H

Krypter privat nøkkel

Hvis du ønsker å kryptere den private nøkkelen og beskytte den med et passord før den sendes ut, slipper du ganske enkelt -nodes flagg fra kommandoen:

openssl pkcs12 -info -i INFILE.p12

I dette tilfellet blir du bedt om å angi og bekrefte et nytt passord etter at OpenSSL sender ut eventuelle sertifikater, og den private nøkkelen blir kryptert (merk at teksten til nøkkelen begynner med -----BEGIN ENCRYPTED PRIVATE KEY-----):

Skriv PEM pass setning: Verifisering - Skriv PEM passfrasen: ----- BEGIN kryptert privatnøkkel som ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END KRYPT PRIVATE NØKKEL -----

Pakk bare ut sertifikater eller privat nøkkel

Hvis du bare vil skrive ut den private nøkkelen, legger du til -nocerts til kommandoen:

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

Hvis du bare trenger sertifikatene, bruk -nokeys (og siden vi ikke er opptatt av den private nøkkelen, kan vi også trygt utelate -nodes):

openssl pkcs12 -info -i INFILE.p12 -nokler

Lagre sertifikater og private nøkler i filer

Du kan eksportere sertifikatene og den private nøkkelen fra en PKCS # 12-fil og lagre dem i PEM-format til en ny fil ved å spesifisere et utdatafilnavn:

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

Igjen blir du bedt om passordet til PKCS # 12-filen. Som før kan du kryptere den private nøkkelen ved å fjerne -nodes flagg fra kommandoen og / eller legg til -nocerts or -nokeys for bare å sende ut den private nøkkelen eller sertifikatene. Så for å generere en privat nøkkelfil, kan vi bruke denne kommandoen:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -noder -nocerts

Og for å lage en fil som bare inneholder sertifikatene, bruk denne:

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

Konverter privat nøkkel til PKCS # 1-format

Eksemplene fremfor alt sender ut den private nøkkelen i OpenSSLs standard PKCS # 8 format. Hvis du vet at du trenger PKCS # 1 i stedet kan du pipe utgangen fra OpenSSLs PKCS # 12-verktøy til RSA- eller EC-verktøyet, avhengig av nøkkeltype. Begge kommandoene nedenfor sender ut en nøkkelfil i PKCS # 1-format:

RSA

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

ECDSA

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

OBS: Du kan se forskjellen mellom PKCS # 8 og PKCS # 1 private nøkkelfiler ved å se på den første tekstlinjen. PKCS # 1-filer vil spesifisere algoritmen:
-----BEGIN RSA PRIVATE KEY-----

PKCS # 8-filer viser ikke algoritmen, og kan også være kryptert:
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----


Takk for at du valgte SSL.com! Hvis du har spørsmål, kan du kontakte oss via e-post på Support@SSL.com, anrop 1-877-SSL-SECURE, eller bare klikk på chat-koblingen nederst til høyre på denne siden.

Hold deg informert og sikker

SSL.com er en global leder innen cybersikkerhet, PKI og digitale sertifikater. Registrer deg for å motta de siste bransjenyhetene, tipsene og produktkunngjøringene fra SSL.com.

Vi vil gjerne ha tilbakemeldinger

Ta vår spørreundersøkelse og fortell oss dine tanker om ditt nylige kjøp.