Преобразование сертификата CERT / PEM в сертификат PFX

185

Я видел пару вопросов о том, как преобразовать PFX в файл сертификата, но мне нужно пойти другим путем.

У меня есть два файла:

bob_cert.cert

bob_key.pem

Я хотел бы преобразовать их в один файл .pfx. Есть ли инструмент, который делает это?

bendewey
источник
16
serverfault.com/a/9717/3202 - отличное объяснение форматов файлов сертификатов, просто к сведению
Rory

Ответы:

350
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx
Фрэнсис
источник
7
Как я могу достичь того же самого программно в C #?
Панкайт
2
Не могли бы вы указать мне в направлении этих примеров? Кажется, я ничего не могу найти.
Ник
10
Версия OpenSSL для Windows доступна по адресу slproweb.com/products/Win32OpenSSL.html . Только что попробовал, и он работал правильно для этой цели.
BrianFinkel
2
Большой список общих команд OpenSSL на sslshopper.com/article-most-common-openssl-commands.html
Рори
4
Пара дополнений: -name "friendly name"задает имя (которое будет отображаться в списке сертификатов в Windows, например) и -certfile cacert.pemможет использоваться для добавления сертификата (сертификатов) CA и создания .pfxфайла со всей цепочкой.
pvgoran
22

Вот как это сделать в Windows без сторонних инструментов:

  1. Импорт сертификата в хранилище сертификатов. В проводнике Windows выберите «Установить сертификат» в контекстном меню. введите описание изображения здесь Следуйте указаниям мастера и примите параметры по умолчанию «Локальный пользователь» и «Автоматически».

  2. Найдите свой сертификат в магазине сертификатов. В Windows 10 запустите MMC «Управление сертификатами пользователя». В Windows 2013 MMC называется «Сертификаты». В Windows 10 по умолчанию ваш сертификат должен находиться в узле «Личные» -> «Сертификаты».

  3. Экспортный сертификат. В контекстном меню выберите пункт «Экспорт ...»: введите описание изображения здесь

    Выберите «Да, экспортировать закрытый ключ»: введите описание изображения здесь

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

    Укажите пароль для закрытого ключа.

IT хит WebDAV
источник
11
На шаге 2 мой сертификат не «Личный» -> «Сертификаты». Он появляется в «Другие люди» -> «Сертификаты», а при экспорте «Обмен личной информацией (PFX)» отключается. Вы знаете, как включить это?
Габриэлизало
Я исправил это с помощью портативного конвертера сертификатов от DigiCert: digicert.com/util/…
Gabrielizalo
13
Вы не можете импортировать PEM.
Росс Прессер
1
Сначала нужно переименовать .pem в .cer, чтобы Windows распознала файл как файл сертификата / закрытого ключа. Оба расширения файлов могут содержать сертификаты и / или ключи в открытом текстовом формате ASCII или в кодировке Base64 / DER, но вы можете использовать файлы cer со встроенными утилитами Windows.
Mastacheata
9
Вопрос OP состоял в том, как импортировать его, когда закрытый ключ не включен в файл сертификата, но у вас есть два файла: crt и pem (pem, содержащий закрытый ключ). Этот ответ не работает в этом случае.
Маси
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
EBlake
источник