Выселение. Приватизация. Перепланировка. Ипотека. ИСЖ

При запуске шифрования на сайте, каждый сервер требует отдельный тип файла с сертификатом. Конвертер SSL позволяет быстро и легко заменить файлы 6 форматов — в зависимости от системных требований. Возможные варианты: PEM, DER, PKCS#7, P7B, PKCS#12 и PFX.

Если Ваш сертификат был выдан в формате, который не осблуживается сервером, воспользуйтесь нижеуказанным конвертером:

  • выберите актуальный формат сертификата,
  • выберите формат, на которой Вы хотите изменить,
  • загрузите файл с SSL-сертификатом,
  • нажмите кнопку - конвертировать.

Формат PEM

Самый популярный формат используемый Центрами Сертификации для выписки SSL -сертификатов. В этом формате может выдаваться так же промежуточный или главный CA. Этот тип распознаётся после расширений файла: .pem , .crt , .cer или .key (в файлах содержатся линии BEGIN и END сертификата, ключа и т.д.). Он закодирован в формате Base64.

PEM компатибильный с серверами Apache и подобными. Во время инсталяции большинство серверов требуют отдельные файлы – сертификат(ы) не могут быть соединены с приватным ключём и т.д.

Формат DER

Это бинарная форма PEM. Файлы с этим форматом сертификата могут иметь окончание .der или .cer.

DER в основном используется для установки на серверахJava . Конвертер позволяет изменять сертификат в формат типа.der, для преобразования ключа необходимо использовать команду OpenSSL .

Формат PKCS#7 или P7B

Эти файлы обычно кодируются в формате Base64 и имеют окончание .p7b или .p7c . Файлы P7B содержат линии "-----BEGIN PKCS7-----" и "-----END PKCS7-----". В этом формате нету приватных ключей.

PKCS#7 и P7B используются для инсталяции м.п. на серверах Microsoft Windows и Java Tomcat .

Формат PKCS#12 или PFX

Это бинарный формат, в котором находится сертификат, выданый для домена (интернет-страницы), промежуточные сертификаты и приватный ключ. Файлы обычно имеют окончания .pfx или .p12 . Наиболее часто используются для импорта и экспорта сертификатов, а так же приватного ключа на серверах Windows .

Во время изменения формата PFX на PEM, в одном файле будет размещён сертфикат и приватный ключ. С целью их разделения, необходимо открыть файл в текстовом редакторе, скопировать его в отдельные файлы вместе с линиями: BEGIN i END, а затем записать как sertifikat.cer, CA.cer и ключ приватный.key.


Нажмите , чтобы использовать для конвертации команды OpenSSL.



Преобразование сертификата PKCS#12 в PEM с использованием OpenSSL (4)

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

Openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass:

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

Openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass: -nodes

Дополнительная информация: http://www.openssl.org/docs/apps/pkcs12.html

У меня OpenSSL x64 на Windows 7, который я загрузил из openssl-for-windows в Google Code . Я пытаюсь запустить:

Openssl pkcs12 -export -in "path.p12" -out "newfile.pem"

но я получаю сообщение об ошибке.

Unable to load private key

Как извлечь сертификат в PEM из хранилища PKCS # 12 с помощью OpenSSL?

Если вы можете использовать Python, это еще проще, если у вас есть модуль pyopenssl . Вот:

From OpenSSL import crypto # May require "" for empty password depending on version with open("push.p12", "rb") as file: p12 = crypto.load_pkcs12(file.read(), "my_passphrase") # PEM formatted private key print crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey()) # PEM formatted certificate print crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate())

У меня был файл PFX и мне нужно было создать файл KEY для NGINX, поэтому я сделал следующее:

Openssl pkcs12 -in file.pfx -out file.key -nocerts -nodes

Затем мне пришлось отредактировать файл KEY и удалить весь контент до -----BEGIN PRIVATE KEY----- . После этого NGINX принял файл KEY.

Это будет работать с файлом.pem который имеет закрытый ключ и сертификат в том же файле (я попробовал это с сертификатом Apple Push Notification)

(PushNotif.pem содержит закрытый ключ и сертификат в одном файле)

$ openssl pkcs12 -export -in PushNotif.pem -inkey PushNotif.pem -out PushNotif.p12
Введите пароль для PushNotif.pem:
Введите Экспортный пароль:
Проверка - введите Экспортный пароль:

Как только вы введете свой пароль, вам будет хорошо.

Просмотр содержимого сертификата

Пусть сертификат содержится в файле cert.pem . Просмотреть его содержимое можно командой

Openssl x509 -in cert.pem -noout -text Вам будет выдана вся информация о полях сертификата. Вот описание основных полей:

  • Serial Number — серийный номер сертификата. Он уникален в пределах данного Certification Authority.
  • Issuer — идентификатор объекта, который подписал данный сертификат. Вместе с Serial Number составляет глобально уникальный идентификатор сертификата.
  • Subject — идентификатор объекта, владеющего сертификатом.
  • Validity — дата и время, с которого сертификат является действительным, и дата и время, по которое сертификат является действительным. Дата и время обычно указываются относительно Greenvich Meridian Time.

Более подробную информацию можно получить командой man x509 .

Изменение пароля закрытого ключа

Если ваш закрытый ключ хранится в файле privkey.pem , а вы хотите получить файл newkey.pem с другим паролем, вам поможет команда

Openssl rsa -in privkey.pem -des3 -out newkey.pem Вначале вам необходимо ввести текущий пароль, а затем — дважды новый пароль.

Более подробную информацию можно получить командой man rsa .

Преобразование сертификата в формат PKCS#12

Формат PKCS#12 — это другой формат хранения вашей ключевой пары, который распознаётся многими броузерами и почтовыми агентами. В файлах PKCS#12 (в зашифрованном виде) хранятся и сертификат, и закрытый ключ, поэтому с этими файлами необходимо быть столь же осторожными, как и с закрытым ключом.

Итак, пусть вы хотите создать файл cert.p12 используя файл сертификата cert.pem и файл закрытого ключа privkey.pem . Это делается командой

Openssl pkcs12 -export -in cert.pem -inkey privkey.pem -name "My Certificate" \ -out cert.p12 Здесь ключ -name задаёт идентификатор вашего сертификата — строку, которая будет отображаться пользовательской программой. Вначале вас попросят ввести текущий пароль закрытого ключа, а потом пароль к PKCS#12-файлу — дважды.

Более подробную информацию можно получить командой man pkcs12 .

Работа с S/MIME сообщениями

S/MIME — это специальный формат для обмена зашифрованными и/или подписанными почтовыми сообщениями. Иногда требуется создавать, читать или проверять правильность таких сообщений средствами OpenSSL.

Предполагается, что ваш закрытый ключ находится в файле privkey.pem , сертификат — в файле cert.pem и сертификат Certification Authority — в файле cacert.pem .

Первый случай: мы хотим поставить цифровую подпись на почтовое сообщение не зашифровывая его. Пусть исходное сообщение находится в файле mail.txt , а полученное S/MIME сообщение нужно поместить в файл out.smime . Это делается командой

Openssl smime -sign -signer cert.pem -inkey privkey.pem -in mail.txt \ -out out.smime

Второй случай: мы хотим проверить подпись на пришедшем к нам S/MIME сообщении, находящемся в файле in.smime:

Openssl smime -verify -in in.smime -CAfile cacert.pem

Более подробную информацию можно получить командой man smime .



Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
Выселение. Приватизация. Перепланировка. Ипотека. ИСЖ