На серверы с операционной системой Windows и на их веб-серверы IIS необходимо устанавливать нестандартные форматы файлов сертификата - .pfx. После выпуска сертификата, приобретенного у нас, вам доступны для скачивания файлы в формате PEM (.crt, .ca-bundle), которых может быть недостаточно для установки на Windows хостинг.
Если взять один зашифрованный файл формата.pfx, в нем хранятся сразу и приватный ключ (.key), и сертификат (.crt), и цепочка сертификатов (.ca-bundle).
Мы расскажем, как из файлов SSL-сертификата получить файлы в формате .pfx .
1. Скачать архив сертификата из SSL панели.
Попасть в SSL-панель можно из Панели клиента на нашем сайте. Перейдите в раздел Мои услуги, нажмите кнопку Детали возле сертификата.
Здесь нажмите Скачать архив с сертификатом.
В архиве вам необходимы:
- файл сертификата с расширением.crt
- промежуточные сертификаты (.ca-bundle), или “цепочка сертификатов”
2. Найти приватный ключ.KEY
При генерации CSR-запроса на Windows сервере, вместе с ним был сгенерирован и сохранен на сервере приватный ключ RSA (.key). Найдите данный файл на сервере. Это необходимо для следующего шага.
Если CSR-запрос генерировался в нашей SSL-панели, мы отправили вам на почту связку ключей CSR-RSA в письме с темой "Your generated CSR and keys" от Скопируйте ключ, начинающийся тэгом -----BEGIN RSA PRIVATE KEY----, создайте на вашем компьютере текстовый документ (например, в Блокнот), вставьте в него ключ и сохраните с расширением.key.
3. Объединить файлы.CRT, .KEY и.CA-BUNDLE
Для того, чтобы это сделать, установите на ваш компьютер программу openssl.exe .
Откройте данную утилиту и введите команду:
pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -certfile domain.name.ca-bundle
domain.key - имя файла с приватным ключом RSA;
domain.crt - имя файла сертификата;
domain.ca-bundle - имя файла цепочки сертификатов.
Если конвертация прошла успешно, вы увидите слово Verifying.
Я отвечаю за поддержку двух серверов Debian. Каждый раз, когда я должен что-либо делать с сертификатами безопасности, я Google для учебных пособий и отбиваю, пока он, наконец, не работает.
Однако в моих поисках я часто сталкиваюсь с разными форматами файлов (.key , .csr , .pem)), но я никогда не было в состоянии найти хорошее объяснение того, какова цель каждого файла.
Мне было интересно, могут ли хорошие люди здесь в ServerFault дать некоторые разъяснения по этому вопросу?
3 ответа
1377
SSL существует достаточно долго, вы можете подумать, что будут согласованы форматы контейнеров. И ты прав, есть. Слишком много стандартов, как это бывает. Так вот что я знаю, и я уверен, что другие будут звонить.
- .csr . Это запрос на подпись сертификата. Некоторые приложения могут генерировать их для отправки в органы сертификации. Фактический формат - PKCS10, который определен в RFC 2986 . Он включает в себя некоторые /все ключевые данные запрашиваемого сертификата, такие как субъект, организация, состояние, еще что-то, а также открытый ключ сертификата для подписки. Они получают подписанный CA и сертификат возвращается. Возвращаемый сертификат является общедоступным сертификатом (который включает открытый ключ, но не закрытый ключ), который сам может быть в нескольких форматах.
- .pem . Определено в RFC через , это формат контейнера, который может включать только открытый сертификат (например, с установками Apache и файлы сертификатов CA /etc/ssl/certs) или может включать целую цепочку сертификатов, включая открытый ключ, закрытый ключ и корневые сертификаты. Смутно, он может также кодировать CSR (например, в качестве ), поскольку формат PKCS10 может быть переведен на PEM. Имя от Privacy Enhanced Mail (PEM) , неудачный метод для защищенной электронной почты, но контейнер, в котором он используется, живет и является базовым преобразованием ключей x509 ASN.1.
- .key . Это файл в формате PEM, содержащий только закрытый ключ конкретного сертификата, и является просто условным именем, а не стандартизованным. В установках Apache это часто находится в /etc/ssl/private . Права на эти файлы очень важны, и некоторые программы откажутся загружать эти сертификаты, если они установлены неправильно.
- .pkcs12 .pfx .p12 . Первоначально определяется RSA в стандартах шифрования с открытым ключом (сокращенно PKCS), вариант «12» был первоначально расширен Microsoft, а позже представлен как RFC 7292 . Это парольный формат контейнера, который содержит как открытые, так и частные пары сертификатов. В отличие от файлов.pem, этот контейнер полностью зашифрован. Openssl может превратить это в.pem-файл с открытым и закрытым ключами: openssl pkcs12 -in file-to-convert.p12 -out converted-file.pem -nodes
Несколько других форматов, которые появляются время от времени:
- .der . Способ кодирования синтаксиса ASN.1 в двоичном файле.pem - это только файл с кодировкой Base64. OpenSSL может преобразовать их в.pem (openssl x509 -inform der -in to-convert.der -out converted.pem). Windows рассматривает их как файлы сертификатов. По умолчанию Windows будет экспортировать сертификаты как файлы формата.DER с другим расширением. Как...
- .cert .cer .crt . Файл с расширением.pem (или редко.der) с другим расширением, признанным проводником Windows в качестве сертификата, который не является.pem. >
- .p7b .keystore . Определено в RFC 2315 как PKCS номер 7, это формат, используемый Windows для обмена сертификатами. Java понимает их изначально и часто использует.keystore как расширение. В отличие от сертификатов стиля.pem, этот формат имеет определенный способ включения сертификатов сертификационного пути.
- .crl - Список отзыва сертификатов. Органы сертификации выражают это как способ отмены авторизации сертификатов до истечения срока действия. Иногда вы можете загружать их с веб-сайтов CA.
Таким образом, существует четыре способа представления сертификатов и их компонентов:
- PEM - управляемый RFC, он используется преимущественно программным обеспечением с открытым исходным кодом. Он может иметь множество расширений (.pem, .key, .cer, .cert, more)
- PKCS7 - открытый стандарт, используемый Java и поддерживаемый Windows. Не содержит личный материал.
- PKCS12 - частный стандарт Microsoft, который позже был определен в RFC, который обеспечивает повышенную безопасность по сравнению с форматом PEM с открытым текстом. Это может содержать секретный ключевой материал. Он используется преимущественно системами Windows и может быть свободно преобразован в формат PEM с помощью openssl.
- DER - родительский формат PEM. Полезноподумайте об этом как о двоичной версии файла PEM с кодировкой base64. Не всегда используется много за пределами Windows.
Надеюсь, это поможет.
PEM на своем собственном не является сертификатом, это всего лишь способ кодирования данных. Сертификаты X.509 - это один тип данных, который обычно кодируется с использованием PEM.
PEM - это сертификат X.509 (структура которого определена с использованием ASN.1), закодированная с использованием ASR.1 DER (выделенные правила кодирования), затем выполняется через кодировку Base64 и застревает между строками якорных текстовых строк (BEGIN CERTIFICATE и END CERTIFICATE).
Вы можете представлять одни и те же данные с помощью представлений PKCS # 7 или PKCS # 12, и для этого можно использовать служебную программу командной строки openssl.
Очевидными преимуществами PEM является то, что безопасно вставлять в тело сообщения электронной почты, потому что он имеет линии привязки и имеет 7-битную чистоту.
RFC1422 имеет более подробную информацию о стандарте PEM, относящемся к ключам и сертификатам.
При запуске шифрования на сайте, каждый сервер требует отдельный тип файла с сертификатом. Конвертер 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.