SSL конвертер
С помощью нашего конвертера сертификатов можно менять форматы сертификата. Это онлайн сервис: загружаете свою цифровую подпись и мгновенно получаете ее же, но в другом формате.
SSL-сертификат — это цифровая подпись сайта. Она нужна, чтобы шифровать данные, которыми пользователь обменивается с сайтом. Есть разные форматы подписей, например: .pem, .cer, .crt, .der. Каждый сервер требует свой формат. Сервер Apache работает с .cer или .crt, а для серверов на Windows нужны pfx-сертификаты. Чтобы узнать необходимый формат, нужно обратиться к хостеру.
Что такое pfx-сертификат. Почему он популярен
Формат .pfx или .pkcs #12 — общепринятый стандарт работы с подписями. Это единственный способ возможно экспортировать сертификат вместе с закрытым ключом. Он нужен, чтобы скинуть сертификат на флешку или перенести на другой компьютер. Чтобы скачать сертификат .pkcs 12, воспользуйтесь нашим конвертером.
Что такое p12-сертификат
Простым языком: p12 — это копия стандартной цифровой подписи в формате XML. Он зашифрован с помощью алгоритма PKCS#12. Как у остальных сертификатов, у p12 есть свои правила, ограничения и сроки действия.
Сделать сертификат p12 можно с помощью нашего конвертера. Конвертировать p12 в другой сертификат невозможно, потому что формат p12 сохраняет целостность сообщений, и после попытки конверсии валидация ключей может быть нарушена.
Как самому создать сертификат из cer
Если не получается использовать конвертер, преобразовать цифровую подпись можно на обычном домашнем компьютере. В Linux достаточно просто ввести команду в адресную строку, в Windows же понадобится программа OpenSSL, библиотеки MS VC++ Redistributable 2008 и сама подпись. Программу и библиотеку легко найти в интернете.
Чтобы получить pfx-файл сертификата, нужно ввести в OpenSSL команду: openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt. Вместо domain.name нужно вставить свое значение домена. Это и есть принцип работы онлайн-конвертеров.
Лицензии ISPsystem, Cpanel, Plesk, DirectAdmin, SSL сертификаты, а также услуги администрирования
Конвертирование сертификатов при помощи OpenSSL
Как только возникает необходимость выполнить конвертирование одного формата сертификата в другой, каждый раз возникает вопрос: «Как это сделать?». Наиболее удобно для этого использовать OpenSSL ( openssl.org ), этот сайт содержит исходные коды, если нет желания выполнять компилирование исходных кодов, то можно взять скомпилированный вариант OpenSSL, его можно скачать по ссылке: https://slproweb.com/products/Win32OpenSSL.html . Необходимость выполнять конвертирование возникает, если имеющийся формат сертификата не подходит для ПО или оборудования.
Итак, если необходимо выполнить конвертирование одного формата сертификата в другой, то надо скачать и установить OpenSSL на локальном компьютере. Далее, рекомендуется скопировать с папку с OpenSSL имеющиеся файлы сертификата, для которого необходимо выполнить конвертирование, открыть командную строку и перейти в папку с установленным OpenSSL.
Часто используемые форматы сертификатов:
PEM — очень часто используется в Linux based системах или оборудовании, файлы такого формата сертификата используют расширение .cer, .crt, and .pem.
DER — двоичная формат сертификата. DER формат не содержит текста «BEGIN CERTIFICATE/END CERTIFICATE», формат DER чаще всего использует расширение .der
PKCS#7 или P7B — эти форматы сертификата хранятся в формате Base64 ASCII и чаще всего имеют расширения файлов .p7b или .p7c. Файл P7B, кроме самого сертификата содержит цепочку сертификатов (открытых ключей) выпускающих центров сертификации (Intermediate CAs). Этот формат поддерживается в Microsoft Windows и Java Tomcat.
PKCS#12 или PFX — эти форматы представляют собой двоичный формат для хранения сертификата сервера, промежуточных сертификатов и закрытого ключа в одном зашифрованном файле. Файлы такого формата сертификата используют расширение .pfx and .p12. PFX файлы обычно используются на windows машинах для импорта/экспорта сертификатов и закрытого ключа.
Для выполнения конвертирования необходимо выполнить одну (или две) команду из списка ниже, в зависимости от исходного формата сертификата и целевого.
Конвертирование x509 в PEM
Конвертирование PEM в DER
Конвертирование DER в PEM
Конвертирование PEM в P7B
Конвертирование PKCS7 в PEM
Конвертирование pfx в PEM
Конвертирование PFX в PKCS#8
Для этого требуется выполнение двух команд
Step 1: Конвертирование PFX в PEM
Step 2: Конвертирование PEM в PKCS8
Конвертирование P7B в PFX
Для этого требуется выполнение двух команд
1. Конвертирование P7B в CER
2. Конвертирование CER и закрытого ключа в PFX
Как конвертировать SSL-сертификат в нужный формат
Чтобы вы могли без проблем пользоваться SSL-сертификатом на разных платформах и устройствах, иногда требуется изменить его формат. Дело в том, что некоторые форматы лучше подходят для работы с различными видами программного обеспечения. Далее мы расскажем о том, какие форматы бывают, в каких случаях используются и какими способами можно конвертировать один формат сертификата в другой.
Форматы сертификатов
Существует четыре основных формата сертификатов:
PEM — популярный формат используемый Центрами Сертификации для выписки SSL-сертификатов.
Основные расширения этого типа .pem, .crt, .cer, .key. В файлах содержатся строки вида
Сертификаты PEM подходят для установки на веб-серверы nginx, apache2.
DER — это бинарная форма сертификата PEM.
Основные расширения этого типа сертификата .der .cer
Сертификаты DER подходят для установки на серверы Java.
P7B. Файлы P7B кодируются в формате Base64 и имеют расширение .p7b или .p7c.
В файлах содержатся строки вида
Сертификаты P7B подходят для установки на серверы MS Windows, Java Tomcat
PFX — это сертификат в бинарном формате, выданный для домена, включающий в себя сертификат, цепочку сертификатов (корневые сертификаты) и приватный ключ. Имеют расширение .pfx или .p12.
Сертификаты PFX подходят для установки на серверы Windows, в частности Internet Information Services(IIS).
Способы конвертации
Существует несколько способов конвертации сертификатов, которые отличаются между собой только простотой конвертирования и уровнем безопасности. Мы расскажем о трех из них.
Конвертация SSl сертификатов посредством OpenSSL
OpenSSL — это надежный, коммерческий и полнофункциональный инструментарий для протоколов Transport Layer Security (TLS) и Secure Sockets Layer (SSL). А также библиотека криптографии общего назначения. Конвертация с использованием библиотеки OpenSSL считается одним из самых безопасных способов: все данные будет сохранены непосредственно на устройстве, на котором будут выполняться операции по конвертированию.
Для того чтобы воспользоваться им, вам необходимо перейти в командную строку и выполнить команды.
Предоставленные ниже примеры команд OpenSSL позволяют конвертировать сертификаты и ключи в нужный формат.
Конвертировать PEM в DER можно посредством команды:
Аналогично, для других типов:
PEM в P7B
PEM в PFX
Обращаем ваше внимание, что после выполнения команды, будет запрошена установка пароля ключа.
DER в PEM
P7B в PEM
P7B в PFX
PFX в PEM
Конвертация при помощи онлайн-сервисов
Для конвертации сертификатов самый удобный способ — использование специальных сайтов, например, https://ssl4less.ru/ssl-tools/convert-certificate.html
Этот способ считается наименее безопасным методом: никогда не знаешь, сохраняет ли автор сайта ваш приватный ключ при конвертации.
Чтобы воспользоваться этим способом, вы просто переходите по ссылке на нужный сайт, выбираете нужные вам форматы и прикрепляете файл или файлы сертификата.
Конвертация с PEM в DER
Для конвертации необходим только файл сертификата .crt, .pem
Конвертация с PEM в P7B
В этом случае существует возможность добавить также цепочку сертификатов.
Что такое цепочка сертификатов и для чего она нужна, можно узнать в статье «Что такое корневой сертификат»
Конвертация с PEM в PFX
В этом случае необходимо обратить внимание на то, что обязателен ключ сертификата, а также необходимо установить пароль ключа.
Конвертация из DER в PEM
Конвертация из P7B в PEM
Конвертация из P7B в PFX
Конвертация из PFX в PEM
Конвертация скриптом openssl-ToolKit
OpenSSL ToolKit — скрипт, который облегчает работу с библиотекой OpenSSL. Работа со скриптом является безопасным решением, т.к сертификаты и ключи сертификата никуда не передаются, а используются непосредственно на вашем сервере.
Для начала работы скрипт необходимо скачать и запустить. Сделать это можно одной командой:
После выполнения команды откроется следующее окно:
Нас интересует пункт 2. Convert certificates
После перехода в пункт 2. появится следующее меню, с выбором нужного типа конвертирования
После выбора преобразования, в данном случае PEM to FPX, скрипт предложит выбрать директорию с сертификатами на том устройстве, где запускается скрипт.
В нашем случае мы их скачали в директорию /home/ivan/crt/
После корректного ввода директории, скрипт отобразит все файлы в этой директории.
Далее нужно ввести имя сертификата, который будем конвертировать, в нашем случае это site.pem
Обращаю ваше внимание, что для корректной конвертации, с PEM в PFX, необходимо вручную объединить файл сертификата, цепочки и ключа в один файл, иначе будет возникать ошибка конвертации.
Сделать это можно простой командой
Данное действие необходимо только для конвертации из PEM в PFX.
Мы рассмотрели пример конвертации PEM в PFX. Этим же путем можно конвертировать сертификаты в другие форматы. Единственное, что вам уже не понадобится шаг с объединением файлов.
Windows pem to cer
Для корректного использования сертификатов в текущем сервисе требуется, чтобы сертификаты были в формате PEM (закодированными в Base64 кодировке), аналогично формату, использующемуся в Apache.
Также необходимо, чтобы сертификаты хранились каждый в своем файле, т.е.
- Непосредственно сертификат домена
- Приватный ключ сертификата домена
- Сертификат(ы) центра сертификации. При этом несколько сертификатов центра сертификации (сам сертификат центра и его цепочки промежуточных сертификатов) необходимо включить в один файл, в котором они указываются последовательно, например:
Рассмотрим наиболее часто встречаемые форматы и способы конвертации каждого из них в PEM формат.
Это целевой формат, в который нужно сконвертировать свои сертификаты, в случае если они находятся в других форматах.
Данные сертификата закодированы в Base64 формате. При открытии файлов данного типа в текстовом редакторе можно увидеть строки «BEGIN CERTIFICATE» для сертификатов, и «BEGIN RSA PRIVATE KEY» или «BEGIN PRIVATE KEY» для приватных ключей.
Обычно файлы имеют раширение.pem,.crt,.cer или.key.
Это бинарная форма PEM формата. При открытии файлов данного типа в текстовом редакторе, строки BEGIN и END отсутствуют.
Обычно файлы имеют расширение.der или.cer.
Конвертация из DER в PEM :
Формат PKCS#7 или P7B.
Данные сертификата обычно закодированы в формате Base64, и он не может содержать приватных ключей. При открытии файлов данного типа в текстовом редакторе можно увидеть строки «BEGIN PKCS7» и «END PKCS7».
Обычно файлы имеют расширение.p7b или.p7c.
Конвертация из P7B в PEM :
После вышеуказанной конвертации в выходном файле будут находится все сертификаты — как сертификат домена, так и сертификат(ы) центра. Для их использования в текущем сервисе необходимо их разделить на отдельные файлы. |
В случае затруднения в разделении на отдельные файлы, возможно, будет проще сконвертировать полученный на предыдущем шаге PEM файл и имеющийся приватный ключ (в PEM формате) в PFX формат, который затем сконвертировать в PEM формат, с разделением на отдельные файлы:
Конвертация из PEM в PFX :
- c:\cert.pem — это выходной файл, полученный после конвертации из P7B в PEM, и содержащий как сертификат домена, так и сертификат(ы) центра сертификации
- c:\cert.key.pem — это приватный ключ (в PEM формате)
- c:\cert.pfx — это итоговый выходной PFX файл, который в дальнейшем можно конвертировать в PEM с разделением на отдельные файлы (см. пункт конвертация из PFX в PEM)
Формат PKCS#12 или PFX.
Данные представлены в бинарной форме. Это файл контейнер который содержит все сертификаты — сертификат(ы) центра сертификации, сертификат домена и его приватный ключ.
Обычно файлы имеют расширение.pfx или.p12.
Конвертация из PFX в PEM :
- Экспорт сертификата(ов) центра сертификации:
- Экспорт сертификата домена:
- Экспорт приватного ключа:
Назначение, удаление или изменение пароля приватного ключа :
Для удаления пароля не указывайте параметр passout. В случае если исходный файл без пароля, то не указывайте параметр passin.