Перетворіть сертифікат CERT / PEM у сертифікат PFX


185

Я бачив кілька запитань про те, як перетворити PFX у файл cert, але мені потрібно піти іншим шляхом.

У мене два файли:

bob_cert.cert

bob_key.pem

Я хотів би перетворити їх в один .pfx файл. Чи є інструмент, який це робить?


16
serverfault.com/a/9717/3202 - це чудове пояснення щодо форматів файлів cert, просто fyi
Rory

Відповіді:


350
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx

7
Як я можу програмно домогтися того ж самого на C #?
pankajt

2
Не могли б ви вказати мене на ці приклади? Я не можу нічого знайти.
Нік

10
Версія Windows OpenSSL доступна на веб- сайті slproweb.com/products/Win32OpenSSL.html . Просто спробував, і він справно працював для цієї мети.
BrianFinkel

2
Чудовий список поширених команд OpenSSL на sslshopper.com/article-most-common-openssl-commands.html
Rory

4
Кілька доповнень: -name "friendly name"встановлює ім'я (яке, наприклад, відображатиметься у списку сертифікатів у Windows) і -certfile cacert.pemможе використовуватися для додавання сертифікатів (сертифікатів) CA та створення .pfxфайлу цілим ланцюжком.
пвгоран

22

Ось як це зробити у Windows без сторонніх інструментів:

  1. Імпорт сертифікату в магазин сертифікатів. У Windows Explorer виберіть "Встановити сертифікат" у контекстному меню. введіть тут опис зображення Дотримуйтесь майстра та прийміть параметри за замовчуванням "Місцевий користувач" та "Автоматично".

  2. Знайдіть свій сертифікат у магазині сертифікатів. У Windows 10 запустіть MMC "Управління сертифікатами користувачів". У Windows 2013 MMC називається "Сертифікати". У Windows 10 за замовчуванням ваш сертифікат повинен знаходитись у вузлі "Особисті" -> "Сертифікати".

  3. Експорт сертифіката. У контекстному меню виберіть меню "Експорт ...": введіть тут опис зображення

    Виберіть "Так, експортувати приватний ключ": введіть тут опис зображення

    Ви побачите, що в цьому випадку параметр .PFX увімкнено: введіть тут опис зображення

    Вкажіть пароль для приватного ключа.


11
На кроці 2 мій сертифікат не означає "Особисті" -> "Сертифікати". Він відображається в розділі "Інші люди" -> "Сертифікати", а при експорті "Обмін персональною інформацією (PFX)" з’являється вимкненим. Чи знаєте ви, як це ввімкнути?
Габріелізало

Я зафіксував переносний перетворювач сертифікатів від DigiCert: digicert.com/util/…
Gabrielizalo

13
не можна імпортувати PEM.
Росс Пресер

1
Спочатку потрібно перейменувати .pem у .cer, щоб Windows розпізнала файл як файл сертифіката / приватного ключа. Обидва розширення файлів можуть містити cert (s) та / або ключ (и) у бронетанковому тексті, броньованому ASCII, або у двійковому форматі, закодованому Base64 / DER, але ви можете використовувати файли cer із вбудованими утилітами Windows.
Mastacheata

9
Питання OP полягало в тому, як імпортувати його, коли приватний ключ не включений у файл сертифіката, але у вас є два файли: crt і pem (pem, що містить приватний ключ). У цьому випадку ця відповідь не працює.
masi

16

Я створив .pfx файл із файлів .key та .pem.

Подобається це openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

Це не пряма відповідь, але все ж, можливо, це допомагає комусь іншому.


5

Якщо у вас є самопідписаний сертифікат, створений користувачем makecert.exe на машині Windows, ви отримаєте два файли: cert.pvkі cert.cer. Вони можуть бути перетворені в pfx за допомогоюpvk2pfx

pvk2pfxзнаходиться в тому самому місці, що і makecert(наприклад, C:\Program Files (x86)\Windows Kits\10\bin\x86або подібне)

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.