- Pfx сертификат (формат pkcs # 12)
- Pkcs # 7 / p7b сертификат
- Windows — конвертация ssl сертификата pem в формат pfx (pkcs#12) с помощью подсистемы linux |
- Информация от пользователей
- Конвертация pem в der
- Конвертация pem в p7b / pkcs#7
- Конвертация pem в pfx / pkcs#12
- Конвертация pfx / pkcs#12 в pem
- Конвертация скриптом openssl-toolkit
- Конвертирование сертификатов при помощи openssl
- Онлайн конвертер ssl сертификатов
- Проверка правильности установки ssl сертификата онлаин. справочные материалы по установке и использованию сертификатов безопасности ssl
- Способы конвертации
- Формат сертификата der
- Формат сертификата pem
Pfx сертификат (формат pkcs # 12)
Формат SSL сертификата PKCS # 12 или, как его еще называют, PFX сертификат — бинарный формат, при использовании которого в одном зашифрованном файле хранится не только ваш личный сертификат сервера и промежуточные сертификаты центра сертификации, но и ваш закрытый ключ.
Pkcs # 7 / p7b сертификат
SSL сертификаты в формате PKCS # 7 или P7B — это файлы, которые хранятся в формате Base64 ASCII и имеют расширение файла .p7b или .p7c. P7B сертификаты содержат теги начала сертификата «—— BEGIN PKCS7 ——» и его конца «—— END PKCS7 ——«.
Windows — конвертация ssl сертификата pem в формат pfx (pkcs#12) с помощью подсистемы linux |
Будем собирать PFX файл в Windows 10 с помощью подсистемы Linux. У нас есть:
- Сертификат, cert.pem.
- Ключ, key.pem.
- Цепочка, certnew.p7b.
Включаем bash в Windows:
Windows 10 – включаем bash
На диске C создаём папку C:keys, переносим туда все нужные файлы:

Цепочка у нас в формате p7b, это стандартный формат, когда мы скачиваем цепочку с центра сертификации Windows. Переведём цепочку в PEM формат.
Запускаем bash. Для запуска bash нужно выполнить команду “bash” или “bash.exe”.

Проверим что пакет openssl установлен:
sudo dpkg -l | grep openssl
Если не установлен, то пакет ставится через apt-get:
sudo apt-get install opensslУ меня openssl уже стоит, Переходим в папку /mnt/c/keys/
cd /mnt/c/keys/Выполняем запрос:
openssl pkcs7 -print_certs -in certnew.p7b -out certnew.pem
Получаем файл certnew.pem.

Выполняем запрос:
openssl pkcs12 -inkey key.pem -in cert.pem -certfile certnew.pem -export -out cert.pfxУ нас спросят пароль, зададим пароль:

Получаем файл cert.pfx.

Информация от пользователей
1. Пользователь semo163делится опытом:
Конвертация pem в der
Для конвертации стандартного сертификата в формате PEM в бинарный формат DER, потребуется только файл SSL сертификата. Обычно, вы его получаете в архиве вместе с промежуточными сертификатами. Как правило, в его названии указано имя вашего домена.
Конвертация pem в p7b / pkcs#7
Если же вам нужно преобразовать ваш стандартный SSL сертификат в файл формата P7B / PKCS#7, вы можете кроме SSL сертификата вашего домена загрузить также файлы с цепочками сертификатов.
Конвертация pem в pfx / pkcs#12
Обратите внимание, что для конвертации стандартного формата SSL сертификата необходимо добавить еще один файл – ваш приватный ключ. Приватный ключ – это конфиденциальная информация, которая должна быть только у вас. Поэтому центры сертификации не высылают его месте с файлами вашего сертификата.
Приватный ключ создается в момент генерации CSR запроса. Если вы генерируете CSR у себя на сервере, на нем же должен автоматически сохраниться ключ. Если вы создаете CSR запрос в специальном инструменте на нашем сайте (на странице по ссылке или во время заполнения технических данных), ключ показывается вам в конце генерации CSR (или введения технических данных), но не сохраняется в нашей базе данных. Поэтому важно, чтобы вы самостоятельно сохранили приватный ключ.
Конвертация pfx / pkcs#12 в pem
Если вам необходимо преобразовать SSL сертификат формата PFX в PEM-формат, следует открыть файл сертификата в любом текстовом редакторе и скопировать текст каждого сертификата вместе с тегами BEGIN / END в отдельные файлы, после чего их следует сохранить их как certificate.cer (для сертификата вашего сервера) и cacert.cer (для цепочки промежуточных сертификатов). То же самое следует проделать с текстом приватного ключа и сохранить его под названием privatekey.key.
Конвертация скриптом openssl-toolkit
OpenSSL ToolKit — скрипт, который облегчает работу с библиотекой OpenSSL. Работа со скриптом является безопасным решением, т.к сертификаты и ключи сертификата никуда не передаются, а используются непосредственно на вашем сервере.
Конвертирование сертификатов при помощи openssl
Как только возникает необходимость выполнить конвертирование одного формата сертификата в другой, каждый раз возникает вопрос: “Как это сделать?”. Наиболее удобно для этого использовать OpenSSL (
openssl.org
), этот сайт содержит исходные коды, если нет желания выполнять компилирование исходных кодов, то можно взять скомпилированный вариант OpenSSL, его можно скачать по ссылке:
https://slproweb.com/products/Win32OpenSSL.html
. Необходимость выполнять конвертирование возникает, если имеющийся формат сертификата не подходит для ПО или оборудования.
Итак, если необходимо выполнить конвертирование одного формата сертификата в другой, то надо скачать и установить OpenSSL на локальном компьютере. Далее, рекомендуется скопировать с папку с OpenSSL имеющиеся файлы сертификата, для которого необходимо выполнить конвертирование, открыть командную строку и перейти в папку с установленным OpenSSL.
Рекомендуется запускать командную строку с от имени администратора (Run As Administrator), это позволит избежать возможных ошибок, если на машине включен UAC.
Для выполнения конвертирования необходимо выполнить одну (или две) команду из списка ниже, в зависимости от исходного формата сертификата и целевого.
Конвертирование x509 в PEM
openssl x509 -in certificate.cer -outform PEM -out certificate.pem Конвертирование PEM в DER
openssl x509 -outform der -in certificate.pem -out certificate.der Конвертирование DER в PEM
openssl x509 -inform der -in certificate.der -out certificate.pem Конвертирование PEM в P7B
openssl crl2pkcs7 -nocrl -certfile certificate.pem -out certificate.p7b -certfile CACert.cer Конвертирование PKCS7 в PEM
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem Конвертирование pfx в PEM
openssl pkcs12 -in certificate.pfx -out certificate.pem Конвертирование PFX в PKCS#8
Для этого требуется выполнение двух команд
Step 1:Конвертирование PFX в PEM
openssl pkcs12 -in certificate.pfx -nocerts -nodes -out certificate.pem Step 2:Конвертирование PEM в PKCS8
openSSL pkcs8 -in certificate.pem -topk8 -nocrypt -out certificate.pk8 Конвертирование P7B в PFX
Для этого требуется выполнение двух команд
1. Конвертирование P7B в CER
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer2. Конвертирование CER и закрытого ключа в PFX
openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile cacert.cer cacert.cer – это файл сертификата выдающего центра сертификации (Intermediate CAs)
Онлайн конвертер ssl сертификатов
Также существуют онлайн программы для конвертации сертификатов из одного формата в другой. Например, мы можем посоветовать SSL конвертер от SSLShopper. Используйте этот SSL конвертер для преобразования SSL-сертификатов различных форматов, таких как PEM, DER, P7B и PFX.
Чтобы использовать SSL-конвертер, просто выберите файл сертификата и его текущий тип (он определяется по формату расширения), затем выберите формат, в какой Вам необходимо преобразовать SSL сертификат и нажмите кнопку “Convert Certificate”. Обратите внимание, что в зависимости от того, в какой формат вам нужно конвертировать SSL сертификат, от вас потребуются разные исходящие файлы.
Проверка правильности установки ssl сертификата онлаин. справочные материалы по установке и использованию сертификатов безопасности ssl
Различные платформы и устройства требуют 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 (Мастер экспорта сертификатов) может предложить не все форматы.
Способы конвертации
Существует несколько способов конвертации сертификатов, которые отличаются между собой только простотой конвертирования и уровнем безопасности. Мы расскажем о трех из них.
Формат сертификата der
DER формат – это бинарный тип сертификата вместо формата PEM. В PEM формате чаще всего используется расширение файла .cer, но иногда можно встретить и расширение файла .der. Поэтому чтобы отличить SSL сертификат в формате PEM от формата DER, следует открыть его в текстовом редакторе и найти теги начала и окончания сертификата (BEGIN/END). DER SSL сертификаты, как правило, используются на платформах Java.
Формат сертификата pem
PEM – наиболее популярный формат среди сертификационных центров. PEM сертификаты могут иметь расширение .pem, .crt, .cer, и .key (файл приватного ключа). Она представляют собой ASCII файлы, закодированные по схеме Base64. Когда вы открываете файл pem формата в текстовом редакторе, вы можете увидеть, что текст кода в нем начинается с тега «—— BEGIN CERTIFICATE ——» и заканчивая тегом «—— END CERTIFICATE ——«.
Apache и другие подобные серверы используют сертификаты в PEM формате. Обратите внимание, что в одном файле может содержатся несколько SSL сертификатов и даже приватный ключ, один под другим. В таком случае каждый сертификат отделен от остальных ранее указанными тегами BEGIN и END. Как правило, для установки SSL сертификата на Apache, сертификаты и приватный ключ должны быть в разных файлах.
