Ez a útmutatás végigvezeti Önt az információk kivonásán egy PKCS # 12 fájlból az OpenSSL segítségével. A PKCS # 12 (más néven PKCS12 vagy PFX) egy bináris formátum a tanúsítványlánc és a magánkulcs egyetlen, titkosítható fájlban történő tárolására. A PKCS # 12 fájlokat általában tanúsítványok és magánkulcsok importálására és exportálására használják Windows és MacOS számítógépeken, és általában fájlnévkiterjesztéssel rendelkeznek. .p12
or .pfx
.
További hasznos tudnivalókért és a legfrissebb kiberbiztonsági hírekért iratkozzon fel az SSL.com hírlevelére itt:
Mi az OpenSSL?
Az OpenSSL egy nagyon hasznos nyílt forráskódú parancssori eszközkészlet a munkához X.509 tanúsítványok, tanúsítvány aláírási kérelmek (CSRs) és kriptográfiai kulcsok. Ha olyan UNIX változatot használ, mint a Linux vagy a macOS, az OpenSSL valószínűleg már telepítve van a számítógépére. Ha az OpenSSL-t Windows rendszeren szeretné használni, engedélyezheti A Windows 10 Linux alrendszere vagy telepíteni cygwin. Ön is könnyedén teremt egy PKCS # 12 fájl openSSL-lel.
Az SSL.com széles skáláját kínálja SSL /TLS szerver tanúsítványok HTTPS webhelyekhez.
videó
Az alábbiakban bemutatott összes példában helyettesítse a fájlok nevét, amelyekkel valójában dolgozik INFILE.p12
, OUTFILE.crt
és OUTFILE.key
.
A PKCS # 12 információinak megtekintése a képernyőn
A PKCS # 12 fájlban található összes információ a képernyőn történő elhelyezéséhez PEM formátum, használja ezt a parancsot:
openssl pkcs12 -info -in INFILE.p12 -csomópontok
Ezután a rendszer kéri a PKCS # 12 fájl jelszavát:
Adja meg az Import jelszót:
Írja be a PKCS # 12 fájl létrehozásakor megadott jelszót, majd nyomja meg az gombot enter
. Az OpenSSL a fájlban található tanúsítványokat és magánkulcsokat a képernyőre bocsátja:
Bag attribútumok localKeyID: AC 3E 77 9A 99 62 84 3D 77 CB 44 0D F9 78 57 7C 08 28 05 97 tárgy = / CN = Aaron Russell/emailAddress=*********@gmail.com kibocsátó = / C = US / ST = Texas / L = Houston / O = SSL Corp / CN = SSL.com Ügyféltanúsítvány intermedier CA RSA R1 ----- BEGIN CERTIFICATE ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1Ml2r83 +
Titkosítsa a privát kulcsot
Ha titkosítani szeretné a magánkulcsot és jelszóval védené azt a kimenet előtt, egyszerűen hagyja ki a -nodes
zászló a parancsból:
openssl pkcs12 -info -INFILE.p12
Ebben az esetben a rendszer kéri egy új jelszó megadását és ellenőrzését, miután az OpenSSL kiadja az összes tanúsítványt, és a titkos kulcs titkosításra kerül (vegye figyelembe, hogy a kulcs szövege -----BEGIN ENCRYPTED PRIVATE KEY-----
):
Enter PEM pass phrase: ellenőrzése - Enter PEM pass phrase: ----- BEGIN titkosítatlan magánkulcsát ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END TITKOSÍTOTT MAGÁNKULCS -----
Csak tanúsítványok vagy privát kulcs kinyerése
Ha csak a magánkulcsot szeretné kiadni, adja hozzá -nocerts
a parancshoz:
openssl pkcs12 -info -in INFILE.p12 -csomópontok -nocerts
Ha csak a tanúsítványokra van szüksége, használja -nokeys
(és mivel nem foglalkozunk a privát kulccsal, nyugodtan kihagyhatjuk -nodes
):
openssl pkcs12 -info -INFILE.p12 -nokeys
Tanúsítványok és privát kulcsok mentése fájlokba
A tanúsítványokat és a magánkulcsot PKCS # 12 fájlból exportálhatja, és PEM formátumban új fájlba mentheti a kimeneti fájlnév megadásával:
openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -csomópontok
Ismét a rendszer kéri a PKCS # 12 fájl jelszavát. Az előzőekhez hasonlóan a privát kulcsot is titkosíthatja a -nodes
flag a parancsból és / vagy add -nocerts
or -nokeys
hogy csak a magánkulcsot vagy a tanúsítványokat adja ki. Tehát egy privát kulcsfájl előállításához ezt a parancsot használhatjuk:
openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -node -nocerts
Csak a tanúsítványokat tartalmazó fájl létrehozásához használja ezt:
openssl pkcs12 -INFILE.p12 -out OUTFILE.crt -nokeys
A magánkulcs konvertálása PKCS # 1 formátumra
A példák mindenekelőtt a magánkulcsot adják ki az OpenSSL alapértelmezés szerint PKCS # 8 formátum. Ha tudod, hogy szükséged van rá PKCS # 1 ehelyett a kulcs típusától függően az OpenSSL PKCS # 12 segédprogram kimenetét az RSA vagy EC segédprogramba továbbíthatja. Az alábbi két parancs kiad egy kulcsfájlt PKCS # 1 formátumban:
RSA
openssl pkcs12 -in INFILE.p12 -csomópontok -nocerts | openssl rsa -out OUTFILE.key
ECDSA
openssl pkcs12 -in INFILE.p12 -csomópontok -nocerts | megnyitja az ec -out OUTFILE.key gombot
Jegyzet: Megtekintheti a PKCS # 8 és a PKCS # 1 magánkulcsfájlok közötti különbséget az első szövegsor megnézésével. A PKCS # 1 fájljai meghatározzák az algoritmust:
-----BEGIN RSA PRIVATE KEY-----
A PKCS # 8 fájlok nem mutatják az algoritmust, és titkosíthatók is:
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----