воскресенье, 23 октября 2016 г.

Команды OpenSSL для преобразования сертификатов на своём компьютере

Перевод: SSL Converter

Воспользуйтесь этим преобразователем SSL для преобразования сертификатов SSL между различными форматами, такими как pem, der, p7b и pfx.

Разные платформы и устройства требуют преобразовывать сертификаты SSL в разные форматы. Например, Windows-сервер экспортирует и импортирует файлы .pfx, а сервер Apache использует отдельные файлы PEM (.crt, .cer). Чтобы воспользоваться преобразователем SSL, просто выберите файл сертификата и его текущий тип (произойдёт попытка определить тип по расширению файла), затем выберите тип, в который нужно преобразовать сертификат и нажмите Преобразовать сертификат. Подробности о различных типах сертификатов SSL и о том, как можно преобразовать сертификаты на своём компьютере с помощью OpenSSL, смотрите ниже.

Формат PEM

Формат PEM - наиболее распространённый формат сертификатов, выпускаемых удостоверяющими центрами. Сертификаты PEM обычно имеют расширения .pem, .crt, .cer и .key. Это ASCII-файлы с информацией, закодированной в Base64, и содержащие выражения "-----BEGIN CERTIFICATE-----" и "-----END CERTIFICATE-----". Сертификаты сервера, промежуточные сертификаты и приватные ключи могут быть записаны в формате PEM.

Apache и другие подобные серверы используют сертификаты в формате PEM. Несколько сертификатов PEM и даже приватный ключ можно поместить в одном файле друг за другом, но большинство платформ, таких как Apache, берут сертификат и приватный ключ из отдельных файлов.

Формат DER

Формат DER - это просто двоичный вид сертификата, в отличие от PEM, который закодирован в символы ASCII. Иногда встречается расширение файла .der, но чаще у файла бывает расширение .cer. Чтобы узнать, имеет ли этот файл формат DER или PEM, можно открыть его в текстовом редакторе и поискать выражения BEGIN и END. Все типы сертификатов и приватных ключей могут быть представлены в формате DER. Обычно DER используется на платформе Java. Инструмент для преобразования SSL умеет преобразовывать в формат DER только сертификаты. Если нужно преобразовать в формат DER приватный ключ, воспользуйтесь командами OpenSSL, приведёнными на этой странице.

Формат PKCS#7/P7B

Формат PKCS#7 или P7B обычно сохраняется в виде ASCII, закодированным в Base64, и имеет расширение .p7b или .p7c. Сертификаты P7B содержат выражения "-----BEGIN PKCS7-----" и "-----END PKCS7-----". Файл P7B содержит только сертификаты и цепочки сертификатов, но не приватные ключи. Некоторые платформы поддерживают файлы P7B, в том числе Microsoft Windows и Java Tomcat.

Формат PKCS#12/PFX

Формат PKCS#12 или PFX - это двоичный формат для хранения сертификата сервера, промежуточных сертификатов и приватного ключа в одном зашифрованном файле. Файлы PFX обычно имеют расширение .pfx или .p12. Файлы PFX обычно используются на компьютерах под управлением Windows для импорта и экспорта сертификатов и приватных ключей.

При преобразовании файла PFX в формат PEM, OpenSSL поместит все сертификаты и приватный ключ в один файл. Для этого нужно открыть файл в текстовом редакторе и скопировать каждый сертификат и приватный ключ (включая выражения BEGIN/END) в отдельные текстовые файлы и сохранить их под именами certificate.cer, CACert.cer и privateKey.key соответственно.

Команды OpenSSL для преобразования сертификатов SSL на своём компьютере

Настоятельно рекомендуется преобразовывать файлы .pfx на своём компьютере с помощью OpenSSL. Это позволит сохранить приватный ключ в тайне. Воспользуйтесь следующими командами OpenSSL для преобразования сертификата SSL в различные форматы на своём компьютере:

Преобразование PEM с помощью OpenSSL
  • Преобразование PEM в DER:
    openssl x509 -outform der -in certificate.pem -out certificate.der
  • Преобразование PEM в P7B:
    openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
  • Преобразование PEM в PFX:
    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Преобразование DER с помощью OpenSSL
  • Преобразование DER в PEM:
    openssl x509 -inform der -in certificate.cer -out certificate.pem
Преобразование P7B с помощью OpenSSL
  • Преобразование P7B в PEM:
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
  • Преобразование P7B в PFX:
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
Преобразование PFX с помощью OpenSSL
  • Преобразование PFX в PEM:
    openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

Комментариев нет: