Pfx to pem: Convert pfx file to pem file

Преобразование pfx в pem с помощью openssl



Как сгенерировать сертификат .pem CA и сертификат клиента из файла PFX с помощью OpenSSL.

openssl pem pfx
Поделиться Источник new bie     14 марта 2013 в 15:37

3 ответа


  • Понимание шагов OpenSSL для преобразования файла .pem в файл. pfx

    Я разрабатываю плагин с помощью Crossrider и нуждаюсь в сертификате подписи кода как часть этого процесса. При этом я предпринял следующие действия Следуйте инструкциям GoDaddy для генерации CSR, как показано здесь Отправил клиенту закрытый ключ CSR & и попросил его купить CSC, что они и…

  • Создание PEM, pfx,… из частного модуля,

    я получил следующее От какой-то устаревшей системы, когда попросил закрытый ключ: MODULUS, PUBLIC EXP, PRIVATE EXP, PRIME_P, PRIME_Q, PARAM_P, PARAM_Q, Q_MOD_INV Все эти данные находятся в hex, как я могу преобразовать их в файл openssl PEM или PFX ? Спасибо и с наилучшими пожеланиями!



203

Еще одна перспектива сделать это на Linux… вот как это сделать, чтобы результирующий файл содержал расшифрованный закрытый ключ, чтобы что-то вроде HAProxy могло использовать его без запроса парольной фразы.

openssl pkcs12 -in file.pfx -out file.pem -nodes

Затем вы можете настроить HAProxy для использования файла file.pem.


Это EDIT из предыдущей версии, где у меня было несколько шагов, пока я не понял, что опция-nodes просто обходит шифрование закрытого ключа. Но я оставляю его здесь, так как это может просто помочь в обучении.

openssl pkcs12 -in file.pfx -out file.nokey.pem -nokeys
openssl pkcs12 -in file.pfx -out file.withkey.pem
openssl rsa -in file.withkey.pem -out file.key
cat file.nokey.pem file.key > file.combo.pem
  1. На 1-м шаге вам будет предложено ввести пароль для открытия PFX.
  2. На 2-м шаге вам будет предложено сделать это, а также составить кодовую фразу для ключа.
  3. На 3-м шаге вам будет предложено ввести парольную фразу, которую вы только что придумали для хранения расшифрованной.
  4. 4-й складывает все это вместе в 1 файл.

Затем вы можете настроить HAProxy для использования файла file.combo.pem.

Причина, по которой вам нужны 2 отдельных шага, в которых вы указываете файл с ключом и другой без ключа, заключается в том, что если у вас есть файл, который имеет как зашифрованный, так и расшифрованный ключ, что-то вроде HAProxy все равно предложит вам ввести парольную фразу, когда он ее использует.

Поделиться user2415376     23 мая 2013 в 21:33



118

Вы можете использовать инструмент командной строки OpenSSL. Следующие команды должны сделать трюк

openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts

openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts

Если вы хотите, чтобы ваш файл был защищен паролем и т.д., То есть дополнительные опции.

Вы можете прочитать всю документацию здесь .

Поделиться Jay     14 марта 2013 в 17:32



18

Несмотря на то, что остальные ответы верны и подробно объяснены, я обнаружил некоторые трудности в их понимании. Вот метод, который я использовал ( взят отсюда ):

Первый случай: преобразовать файл PFX в файл PEM, содержащий как сертификат, так и закрытый ключ:

openssl pkcs12 -in filename.pfx -out cert.pem -nodes

Второй случай: преобразование файла PFX в отдельные файлы с открытым и закрытым ключами PEM:

Извлекает закрытый ключ из формы a PFX в файл a PEM:

openssl pkcs12 -in filename.pfx -nocerts -out key.pem

Экспортирует сертификат (включает только открытый ключ):

openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem

Удаляет пароль (парафразу) из извлеченного закрытого ключа (необязательно):

openssl rsa -in key.pem -out server.key

Поделиться Mohammed Noureldin     30 ноября 2019 в 21:26


  • Как конвертировать pem в файл pfx?

    Это сбивает меня с толку : Convert pfx to PEM: openssl pkcs12 -in certificatename.pfx -out certificatename.pem Сделайте это, чтобы выгрузить один обычный текстовый файл. Теперь, как мне преобразовать этот простой текст pem обратно в pfx? Единственные команды которые я вижу для преобразования в pfx…

  • как создать pfx, совместимый с X509Certificate2 с openssl

    Я пытаюсь создать пару ключей RSA, которую я могу использовать с System.Security.Cryptography.X509Certificates.X509Certificate2 , используя OpenSSL. PFX, который мне удалось сгенерировать, дает мне этот стек trace создайте закрытый ключ, незашифрованный (я понимаю, что это не лучшая практика)…


Похожие вопросы:


Преобразование .PFX в .PEM программно?

Мне нужно программно извлечь сертификаты и их закрытые ключи из хранилища сертификатов MS и каким-то образом перевести их в формат .PEM. Я не хочу использовать OpenSSL в командной строке, так как…


Преобразуйте сертификат .PEM в .PFX программно, используя OpenSSL

У меня есть файл .PEM, который я хочу преобразовать в файл PKCS12 (PFX), и я знаю, что могу легко выполнить это с помощью следующей команды openssl : Create a PKCS#12 file: openssl pkcs12 -export…


Преобразование .pem и .pub в файл .pfx

У меня есть файл .pem и файл .pub, я использовал следующие команды для их создания openssl genrsa -out temp.pem 1024 openssl rsa -in temp.pem -pubout -out temp.pub Теперь я хочу сделать их в один…


Понимание шагов OpenSSL для преобразования файла .pem в файл. pfx

Я разрабатываю плагин с помощью Crossrider и нуждаюсь в сертификате подписи кода как часть этого процесса. При этом я предпринял следующие действия Следуйте инструкциям GoDaddy для генерации CSR,…


Создание PEM, pfx,… из частного модуля,

я получил следующее От какой-то устаревшей системы, когда попросил закрытый ключ: MODULUS, PUBLIC EXP, PRIVATE EXP, PRIME_P, PRIME_Q, PARAM_P, PARAM_Q, Q_MOD_INV Все эти данные находятся в hex, как…


Как конвертировать pem в файл pfx?

Это сбивает меня с толку : Convert pfx to PEM: openssl pkcs12 -in certificatename.pfx -out certificatename.pem Сделайте это, чтобы выгрузить один обычный текстовый файл. Теперь, как мне…


как создать pfx, совместимый с X509Certificate2 с openssl

Я пытаюсь создать пару ключей RSA, которую я могу использовать с System.Security.Cryptography.X509Certificates.X509Certificate2 , используя OpenSSL. PFX, который мне удалось сгенерировать, дает мне…


Преобразование PFX в PEM с ключом, включая промежуточные сертификаты

У меня есть PFX, который я хочу преобразовать в CRT и ключ или PEM и ключ для установки на конечную точку NGINX. Когда я импортирую pfx в свое хранилище сертификатов на моей машине windows, он…


openssl: как преобразовать pfx в pem в скрипте

Я могу успешно преобразовать pfx в pem, если запущу openssl pkcs12 -in cert.pfx -out cert.pem -password pass:mypass . Однако мне будет предложено ввести кодовую фразу PEM, чтобы закрытый ключ был…


Конвертируйте файл .pem в .crt с помощью openssl

Я хочу иметь возможность отправлять сертификаты в своих запросах API. Пожалуйста, смотрите — добавить сертификат по запросу с RestSharp Как показано в этом посте. Мне нужно преобразовать .crt и .key…

Иногда требуется изменить формат сертификата или экспортировать сертификат или импортировать сертификат изменив его формат

Различные платформы и устройства требуют SSL сертификаты в различных форматах — PEM DER PKCS#7 / P7B PKCS # 12 / PFX При этом необходимо экспортировать сертификат, изменить его формат и произвести импорт в новое устройство

Обычно экспортируют и импортируют четыре стандартных формата файлов сертификатов.

1. PFX или PKCS #12 Personal Information Exchange (Персональный обмен данными). Формат PFX (называемый также PKCS #12) поддерживает безопасное хранение сертификатов, закрытых ключей и всех сертификатов в пути сертификации. PKCS #12 — единственный формат файла, с помощью которого можно экспортировать сертификат и его закрытый ключ. Формат используется для передачи сертификата с соответствующим личным ключом с одного компьютера на другой или для копирования сертификата и его закрытого ключа на съемный носитель. Public Key Cryptography Standard (Стандарт шифрования с открытым ключом) номер 12 (PKCS #12) является промышленным стандартом для архивирования, восстановления и передачи сертификатов. Файлы PKCS #12 используют расширение. pfx.

2. PKCS #7 Cryptographic Message Syntax Standard (Стандарт Cryptographic Message Syntax). Формат PKCS #7 поддерживает хранение сертификатов и всех сертификатов в пути сертификации. Используйте этот формат для передачи сертификата вместе со всеми сертификатами в его пути сертификации с одного компьютера на другой или для копирования сертификата на съемный носитель. Файлы PKCS #7 используют расширение. р7Ь. Если вам не нужно пересылать закрытый ключ с сертификатом, PKCS #7 является оптимальным вариантом. Обычно файл PKCS #7 имеет расширение имени файла .p7b, но это необязательно. Как и для других файлов данных, программа-создатель файла управляет именем и определяет, использовать ли расширение .p7b.

3. DER — encoded binary Х.509 (Файлы в DER-кодировке). DER-шифрованный файл X.509 Формат DER поддерживает хранение отдельного сертификата. В этом формате не поддерживается хранение закрытого ключа или пути сертификации. Используйте формат двоичного шифрования для переноса сертификатов в другие приложения Windows (к примеру, в другие обозреватели), которые не поддерживают PK. CS #12. Файл с DER-шифрованием использует расширение. сег.

4. Base64 — encoded Х.509 (Файлы в ВавебЧ-кодировке). Base64-шифрованный формат X.509 Формат Base64 поддерживает хранение отдельного сертификата. В этом формате не поддерживается хранение закрытого ключа или пути сертификации. Используйте этот ASCI 1-формат для переноса сертификатов в\из операционной системы, отличной от Windows. К примеру, если центр сертификации работает под Linux, можно получить сертификат в файле Х.509 с шифрованием Base64. Эти файлы используют расширение. сег.

В зависимости от типа сертификата, который вы экспортируете, и от того, пометил ли поставщик закрытый ключ как экспортируемый, Certificate Export Wizard (Мастер экспорта сертификатов) может предложить не все форматы. 

Преобразование сертификатов crt в pfx и не только

Обновлено 14.11.2017

Добрый день уважаемые читатели, в прошлый раз я вам рассказывал, о том, что такое csr запрос и мы его генерировали на IIS сервере, далее нам его нужно было передать в удостоверяющий центр для выпуска основного сертификата сервера, мы выбрали для этих целей сертификат comodo на 3 года от компании Emaro. Все замечательно, сертификат прислали, но есть одно но, когда вы попытаетесь импортировать сертификат в формате crt в IIS сервере, то получите предложение, только на импорт pfx формата, и если его не, то ошибку, что сертификат не содержит закрытого ключа. Давайте смотреть как это решить.

Для чего нужно преобразование сертификатов

Тут ответ, очень простой, все дело в формате работы с ними у каждой программы, будь то IIS или же Apache сервер. Более подробно про виды сертификатов и их назначение, я вам посоветую прочитать вот эту статью.

Давайте я подробнее покажу как выглядит ошибка импортирования сертификата. Во первых когда вы получаете от comodo ваш архив с сертификатами, то там будет два файла:

  • с расширением .ca-bundle
  • с расширением .crt

Попытавшись на сервере IIS произвести их импорт вы увидите вот такую картинку.

Сертификат не содержит закрытого ключа

И тут нет ничего удивительного, так как это не pfx архив, то в нем нет нужного приватного ключа. Для его получения придется слегка постараться.

Как получить PFX ключ на IIS

нажимаем сочетание клавиш WIN+R и вводим mmc, для вызова оснастки. Я вам уже рассказывал о ее применении и удобстве для системного администратора.

Далее вам необходимо через меню «Файл» добавить новую оснастку.

Находим сертификаты и нажимаем кнопку «Добавить»

В следующем окне выбираем «для учетной записи компьютера»

подтверждаем, что нас интересует локальный компьютер.

Далее находим пункт «Запросы заявок на сертификат», тут вы обнаружите ваш запрос, находите его и через правый клик экспортируете его.

У вас откроется мастер экспорта сертификатов

Далее вы выбираете «Да, экспортировать закрытый ключ»

Ставим галку «Включить по возможности все сертификаты в путь сертификации» и начинаем наш экспорт PFX архива.

Теперь мастер экспорта, просит вас указать два раза нужный вам пароль, для защиты pfx архива.

Через кнопку обзор, указываем место сохранения вашего файла.

Нажимаем «Готово»

Как видим, все успешно выгружено.

Установка OpenSSL для Windows

Теперь нам необходимо наш файл pfx переделать в pem, Pem преобразовать в key:

  • с расширением .ca-bundle
  • с расширением .crt
  • key

Вы получите из этих трех файлов, нужный для импорта pfx архив. Во всем этом нам поможет утилита OpenSSL для Windows.

Скачать OpenSSL для Windows x64 — https://cloud.mail.ru/public/MZmy/yKvJkc7Ad

В итоге у вас будет архив, распакуйте его куда вам будет угодно. Далее выберите вашу папку, зажмите SHIFT и щелкните по ней правым кликом, в открывшемся контекстном меню, выберите пункт «Открыть окно команд».

В результате чего у вас откроется командная строка Windows, но уже в нужной папке содержащей утилиту openssl.exe, она нам и поможет все сделать красиво.

Преобразование PFX в PEM

Теперь приступаем к получению фала в формате Pem. Положите в папку с дистрибутивом файл в формате pfx.

openssl.exe pkcs12 -in «имя вашего pfx файла» -nocerts -out key.pem

Мой пример:

openssl.exe pkcs12 -in api.pyatilistnik.ru.pfx» -nocerts -out key.pem

Вас попросят указать пароль от Pfx архива, вы его задавали при экспорте, после чего нужно придумать пароль на pem файл.

В папке с дистрибутивом OpenSSL вы обнаружите файл key.pem, он нам нужен будет для следующего этапа.

Преобразование PEM в KEY

Теперь получим файл с расширением key, для этого есть вот такая команда:

openssl rsa -in key.pem -out

Мой пример:

openssl rsa -in key.pem -out api.pyatilistnik.ru.key

Вас попросят указать пароль от pem ключа.

В итоге я получил закрытый ключ в формате key.

Осталась финишная прямая.

Получаем PFX ключ для импорта в IIS

Теперь когда у вас есть все составляющие, вы можете выполнить последнюю команду для создания PFX файла для IIS сервера.

openssl pkcs12 -export -out doman_com.pfx -inkey doman_com.key -in doman_com.crt -certfile doman_com.ca-bundle

Мой пример:

openssl.exe pkcs12 -export -out api.pyatilistnik.ru.pfx -inkey api.pyatilistnik.ru.key -in api.pyatilistnik.ru.crt -certfile api.pyatilistnik.ru.ca-bundle

источник: https://medium.com/@thylux/how-to-create-csr-and-private-key-from-iis-3965191d67fe

Задаем пароль для pfx файла, потребуется при импортировании.

В итоге вы получаете нужный вам файл, который можно загружать на ваш почтовый сервер.

Что делать если нет сертификата в запросах заявок на сертификат

Бывают ситуации, что на вашем сервере по каким-то причинам, в папке запросы на сертификат, может не оказаться вашего, в этом случае вам необходимо будет перейти в этой же mmc в раздел «Личное-Сертификаты». Выбираем нужный и делаем экспорт.

Появится мастер экспорта сертификатов.

Обратите внимание, что в pfx выгрузить не получится, но это не страшно, нам подойдет и p7b, но с включенной галкой «Включить по возможности все сертификаты в путь сертификации»

Указываем путь сохраняемого файла.

Видим, что все успешно выполнено.

Преобразование p7b в pem

Попробует такое преобразование.

openssl pkcs7 -in cert.p7b -inform DER -print_certs -out cert.pem

Мой пример

openssl.exe pkcs7 -in new.pyatilistnik.ru.p7b -inform DER -print_certs -out new.pyatilistnik.ru.pem

В итоге я получил файл new.pyatilistnik.ru.pem

Ну, а дальше уже по инструкции сверху. Если у вас выскочит ошибка, по типу

C:\AMD64-Win64OpenSSL-0_9_8g>openssl.exe rsa -in new.pyatilistnik.ru.pem -out new.
pyatilistnik.ru.key
unable to load Private Key
6944:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib
.c:647:Expecting: ANY PRIVATE KEY

То наш вариант это .crt в .der и уже .der в .pem

Преобразование CRT в PEM

Кладем так же все в одну папку, файл crt вам должны были прислать вместе с ca-bundle.

Первое это crt в der

openssl x509 -in new.pyatilistnik.ru.crt -out new.pyatilistnik.ru.der -outform DER

Теперь der в pem.

openssl x509 -in new.pyatilistnik.ru.der -inform DER -out new.pyatilistnik.ru.pem -outform PEM

В итоге у меня получилось, вот так.

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

преобразовать сертификат CERT / PEM в сертификат PFX — qaru

Присоединяйтесь к Stack Overflow , чтобы учиться, делиться знаниями и строить свою карьеру.

Спросил

Просмотрено 434к раз

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

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

bob_cert.cert

bob_key.pem

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

задан 30 апр ’09 в 19:30

Bendewey

38.2k1111 золотых знаков9494 серебряных знака122122 бронзовых знака

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *