Eksporter certifikater og privat nøgle fra en PKCS # 12-fil med OpenSSL

Sådan udpakkes certifikater og privat nøgle fra en PKCS # 12-fil (også kendt som PKCS12, PFX, .p12 og .pfx) med OpenSSL.

Bemærk: Denne artikel gælder ikke for SSL.com-kodesignering og dokumentsigneringscertifikater. De private nøgler til disse typer certifikater kan ikke eksporteres, og de kan ikke genereres som .pfx-filer. SSL.com-kodesignerings- og dokumentsigneringscertifikater og deres private nøgler kan kun genereres og gemmes i eSigner cloud-signeringsmiljø, en Yubikey enhed eller en understøttet Cloud HSM.

Denne vejledning fører dig gennem udpakning af oplysninger fra en PKCS # 12-fil med OpenSSL. PKCS # 12 (også kendt som PKCS12 eller PFX) er et binært format til lagring af en certifikatkæde og privat nøgle i en enkelt, krypterbar fil. PKCS # 12-filer bruges ofte til at importere og eksportere certifikater og private nøgler på Windows- og macOS-computere og har normalt filnavneudvidelser .p12 or .pfx.

For flere nyttige vejledninger og de seneste nyheder om cybersikkerhed, tilmeld dig SSL.coms nyhedsbrev her:

Hvad er OpenSSL?
OpenSSL er et meget nyttigt open source kommandolinjeværktøjssæt til at arbejde med X.509 certifikater, anmodninger om underskrift af certifikat (CSRs) og kryptografiske nøgler. Hvis du bruger en UNIX-variant som Linux eller macOS, er OpenSSL sandsynligvis allerede installeret på din computer. Hvis du vil bruge OpenSSL på Windows, kan du aktivere Windows 10s Linux-undersystem eller installer Cygwin. Du kan også nemt skabe en PKCS # 12-fil med openSSL.

SSL.com tilbyder en bred vifte af SSL /TLS servercertifikater til HTTPS-websteder.

SAMMENLIG SSL /TLS CERTIFIKATER

Video

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

I alle nedenstående eksempler skal du erstatte navnene på de filer, du faktisk arbejder med INFILE.p12, OUTFILE.crtog OUTFILE.key.

Se PKCS # 12-oplysninger på skærmen

For at dumpe alle oplysningerne i en PKCS # 12-fil til skærmen i PEM-format, brug denne kommando:

openssl pkcs12 -info -in INFILE.p12 -noder

Du bliver derefter bedt om adgangskoden til PKCS # 12-filen:

Indtast importadgangskode:

Skriv det indtastede kodeord, når du opretter PKCS # 12-filen, og tryk på enter. OpenSSL udsender alle certifikater og private nøgler i filen til skærmen:

Taskeegenskaber 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 udsteder = / C = US / ST = Texas / L = Houston / O = SSL Corp / CN = SSL.com klientcertifikat Intermediate CA RSA R1 ----- BEGIN CERTIFICATE ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1Ml2r83LIV-0U6

Krypter privat nøgle

Hvis du gerne vil kryptere den private nøgle og beskytte den med en adgangskode før output, skal du blot udelade -nodes flag fra kommandoen:

openssl pkcs12 -info -i INFILE.p12

I dette tilfælde bliver du bedt om at indtaste og bekræfte en ny adgangskode, efter at OpenSSL udsender eventuelle certifikater, og den private nøgle bliver krypteret (bemærk at teksten til nøglen begynder med -----BEGIN ENCRYPTED PRIVATE KEY-----):

Indtast PEM pass sætning: Kontrol - Indtast PEM pass sætning: ----- BEGIN KRYPTERET private nøgle ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END ENCRYPTED PRIVATE Nøgle -----

Uddrag kun certifikater eller privat nøgle

Hvis du kun vil sende den private nøgle, skal du tilføje -nocerts til kommandoen:

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

Hvis du kun har brug for certifikaterne, skal du bruge -nokeys (og da vi ikke er optaget af den private nøgle, kan vi også udelade sikkert -nodes):

openssl pkcs12 -info -in INFILE.p12 -nøgler

Gem certifikater og private nøgler i filer

Du kan eksportere certifikaterne og den private nøgle fra en PKCS # 12-fil og gemme dem i PEM-format til en ny fil ved at specificere et outputfilnavn:

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

Igen bliver du bedt om adgangskoden til PKCS # 12-filen. Som før kan du kryptere den private nøgle ved at fjerne -nodes flag fra kommandoen og / eller tilføj -nocerts or -nokeys for kun at sende den private nøgle eller certifikater. Så for at generere en privat nøglefil kan vi bruge denne kommando:

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

Og for at oprette en fil, der kun indeholder certifikaterne, skal du bruge denne:

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

Konverter privat nøgle til PKCS # 1-format

Eksemplerne fremfører først og fremmest den private nøgle i OpenSSLs standard PKCS # 8 format. Hvis du ved, du har brug for PKCS # 1 i stedet kan du røre output fra OpenSSL's PKCS # 12-værktøj til dets RSA- eller EC-værktøj afhængigt af nøgletypen. Begge nedenstående kommandoer udsender en nøglefil i PKCS # 1-format:

RSA

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

ECDSA

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

Bemærk: Du kan fortælle forskellen mellem PKCS # 8 og PKCS # 1 private nøglefiler ved at se på den første tekstlinie. PKCS # 1-filer specificerer algoritmen:
-----BEGIN RSA PRIVATE KEY-----

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


Tak for at du valgte SSL.com! Hvis du har spørgsmål, bedes du kontakte os via e-mail på Support@SSL.com, opkald 1-877-SSL-SECURE, eller bare klik på chatlinket nederst til højre på denne side.

Hold dig informeret og sikker

SSL.com er en global leder inden for cybersikkerhed, PKI og digitale certifikater. Tilmeld dig for at modtage de seneste industrinyheder, tips og produktmeddelelser fra SSL.com.

Vi vil meget gerne have din feedback

Tag vores undersøgelse og fortæl os dine tanker om dit seneste køb.