Експортирайте сертификати и частен ключ от файл PKCS # 12 с OpenSSL

Забележка: Тази статия не се отнася за подписване на код SSL.com и сертификати за подписване на документи. Частните ключове на тези типове сертификати не могат да бъдат експортирани и не могат да бъдат генерирани като .pfx файлове. Сертификатите за подписване на код SSL.com и подписване на документи и техните частни ключове могат да се генерират и съхраняват само в Облачна среда за подписване на eSigner, а Yubikey устройство или поддържан Облачен HSM.

Това ръководство ще ви преведе през извличане на информация от PKCS # 12 файл с OpenSSL. PKCS # 12 (известен също като PKCS12 или PFX) е двоичен формат за съхраняване на верига от сертификати и частен ключ в един шифроващ се файл. Файловете PKCS # 12 обикновено се използват за импортиране и експортиране на сертификати и частни ключове на компютри с Windows и macOS и обикновено имат разширения на имената на файловете .p12 or .pfx.

За по-полезни инструкции и най-новите новини за киберсигурността, регистрирайте се за бюлетина на SSL.com тук:

Какво е OpenSSL?
OpenSSL е много полезен набор от инструменти за команден ред с отворен код за работа с X.509 сертификати, заявки за подписване на сертификати (CSRs) и криптографски ключове. Ако използвате UNIX вариант като Linux или macOS, OpenSSL вероятно вече е инсталиран на вашия компютър. Ако искате да използвате OpenSSL в Windows, можете да активирате Linux подсистема на Windows 10 или инсталирате Cygwin. Можете също така лесно създаване на файл PKCS # 12 с openSSL.

SSL.com предоставя голямо разнообразие от SSL /TLS сървърни сертификати за HTTPS уебсайтове.

СРАВНИ SSL /TLS СЕРТИФИКАТИ

Видео

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

Във всички примери, показани по-долу, заменете имената на файловете, с които всъщност работите INFILE.p12, OUTFILE.crt, и OUTFILE.key.

Преглед на информацията за PKCS # 12 на екрана

За да изхвърлите цялата информация в PKCS # 12 файл на екрана в PEM формат, използвайте тази команда:

openssl pkcs12 -info -в INFILE.p12 -възли

След това ще бъдете подканени да въведете паролата на файла PKCS # 12:

Въведете парола за импортиране:

Въведете паролата, въведена при създаването на файла PKCS # 12 и натиснете enter. OpenSSL ще изведе на екран всички сертификати и частни ключове във файла:

Атрибути на чанта 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 издател = / C = САЩ / ST = Тексас / L = Хюстън / O = SSL Corp / CN = SSL.com сертификат за клиентската Междинно CA RSA R1 ----- BEGIN СЕРТИФИКАТ ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1Ml2r83UF-BDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEU

Шифроване на частния ключ

Ако искате да шифровате частния ключ и да го защитите с парола преди извеждане, просто пропуснете -nodes флаг от командата:

openssl pkcs12 -info -в INFILE.p12

В този случай ще бъдете подканени да въведете и потвърдите нова парола, след като OpenSSL изведе сертификати и частният ключ ще бъде шифрован (имайте предвид, че текстът на ключа започва с -----BEGIN ENCRYPTED PRIVATE KEY-----):

Въвеждане ПОМ подаване израза: Проверка - Въвеждане ПОМ подаване израза: ----- започне криптирани частен ключ ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ bdw = ----- END криптирани ЧАСТЕН КЛЮЧ -----

Извличане само на сертификати или частен ключ

Ако искате да изведете само частния ключ, добавете -nocerts към командата:

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

Ако имате нужда само от сертификатите, използвайте -nokeys (и тъй като не се занимаваме с частния ключ, можем спокойно да пропуснем -nodes):

openssl pkcs12 -info -в INFILE.p12 -ключове

Запазване на сертификати и частни ключове във файлове

Можете да експортирате сертификатите и частния ключ от файл PKCS # 12 и да ги запишете във формат PEM в нов файл, като посочите име на изходен файл:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -възли

Отново ще бъдете подканени да въведете паролата на файла PKCS # 12. Както и преди, можете да шифровате частния ключ, като премахнете -nodes флаг от командата и / или добавяне -nocerts or -nokeys за да изведете само частния ключ или сертификати. Така че, за да генерираме файл с частен ключ, можем да използваме тази команда:

openssl pkcs12 -в INFILE.p12 -изход OUTFILE.key -nodes -nocerts

И за да създадете файл, включващ само сертификатите, използвайте това:

openssl pkcs12 -в INFILE.p12 -изход OUTFILE.crt -nokeys

Конвертирайте частния ключ във формат PKCS # 1

Примерите по-горе извеждат частния ключ по подразбиране на OpenSSL PKCS # 8 формат. Ако знаете, че имате нужда PKCS # 1 вместо това можете да насочите изхода на помощната програма PKCS # 12 на OpenSSL към нейната помощна програма RSA или EC в зависимост от типа на ключа. И двете команди по-долу ще изведат ключов файл във формат PKCS # 1:

RSA

openssl pkcs12 -в INFILE.p12 -възли -nocerts | openssl rsa -out OUTFILE.key

ECDSA

openssl pkcs12 -in INFILE.p12 -възли -nocerts | openssl ec -out OUTFILE.key

Забележка: Можете да разберете разликата между файловете с частни ключове PKCS # 8 и PKCS # 1, като погледнете първия ред текст. Файловете PKCS # 1 ще определят алгоритъма:
-----BEGIN RSA PRIVATE KEY-----

Файловете PKCS # 8 не показват алгоритъма и могат също да бъдат криптирани:
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----


Благодарим ви, че избрахте SSL.com! Ако имате някакви въпроси, моля свържете се с нас по имейл на Support@SSL.com, обадете се 1-877-SSL-SECUREили просто щракнете върху връзката за чат в долната дясна част на тази страница.

Абонирайте се за бюлетина на SSL.com

Не пропускайте нови статии и актуализации от SSL.com

Бъдете информирани и защитени

SSL.com е глобален лидер в киберсигурността, PKI и цифрови сертификати. Регистрирайте се, за да получавате най-новите новини от индустрията, съвети и съобщения за продукти от SSL.com.

Ще се радваме на вашите отзиви

Попълнете нашата анкета и ни кажете какво мислите за скорошната си покупка.