Я получил сертификат от StartSSL для меня домен в чистом виде, который выглядит примерно так:
-----BEGIN CERTIFICATE-----
[...]Many letters and digits[...]
-----END CERTIFICATE-----
Я пытаюсь создать .cer
файл из этого text
используя инструкции, найденные здесь. Вместе с текстом сертификата мне также необходимо передать текст закрытого ключа (поправьте меня, если не прав) как это на OpenSSL командная строка:
openssl pkcs12 -export -out mycertkey.p12 -in certificate.txt -inkey key.txt
Обновить: В Создать файл PKCS # 12 (PFX) вариант на сайте StartSSL также нужен приватный ключ в тексте. Пробовал согласно Micheal's комментарий
Согласно недавнему разговору с персоналом StartSSL, я попытался создать файл .cer на Сайт конвертера но нет возможности создать файл .cer
Согласно моим дискуссиям по электронной почте с персоналом StartSSL, я считаю, что закрытый ключ находится в моем CSR, но когда я предоставил его как ключ, используя pkcs
утилита на инструменте OpenSSL, которая не дала мне хороших результатов:
Проблема: Как мне предоставить текст закрытого ключа? Я имею в виду, где текст закрытого ключа на панели инструментов StartSSL? Или как мне извлечь его как текст из сертификата?
Вы говорите, что хотите создать .cer
файл, но инструкции, на которые вы ссылаетесь, этого не делают. А .cer
файл обычно содержит только сертификат, или очень редко несколько сертификатов, тогда как вся цель .p12
или .pfx
файл (они в основном одно и то же) должен содержать частный ключ И сертификат (ы). Если вы пытаетесь запустить сервер SSL / TLS (например, HTTPS, но также LDAPS SMTPS FTPS и т. Д.), Вам нужны как частный ключ, так и сертификат (ы), в противном случае обычно этого не происходит.
Используется приватный ключ генерировать КСО, но не в ней; CSR отправляется кому-то другому, поэтому он не будет частным. Это не на StartSSL, потому что это не было бы приватным. Этого нет в вашем сертификате, потому что он не будет частным.
Посмотрите, что в вашем .pfx
с участием openssl pkcs12 -in whatever.pfx -nodes
. Если на выходе есть хотя бы блок, начинающийся со строки -----BEGIN PRIVATE KEY-----
за которыми следуют несколько строк, все или почти все буквы и цифры, затем строка -----END PRIVATE KEY-----
у тебя есть некоторые закрытый ключ. (При использовании OpenSSL ниже версии 1.0.0 будет сказано RSA PRIVATE KEY
вместо просто PRIVATE KEY
.) Если да, сделайте: openssl pkcs12 -in whatever.pfx -nocerts -nodes -out key.txt
. Сейчас попробуйте openssl pkcs12 -export
в вашем вопросе. Если не выдаёт ошибку и не скажите «Ни один сертификат не соответствует закрытому ключу», у вас есть правильный ключ. На этом этапе результат можно импортировать в магазин Windows и использовать, например, IIS или используется непосредственно некоторыми программами, например Кот.
Однако сервер SSL / TLS ДОЛЖЕН также иметь цепной сертификат (ы). Центры сертификации сегодня в основном используют один цепной сертификат (а также корневой сертификат, который вам здесь не нужен); некоторые используют два, а иногда и больше. Какие сертификаты цепочки верны, зависит от того, какой сертификат (валидация и класс) вы получили; веб-сайт StartSSL должен вам это сказать. Если вы не получите и не настроите правильные сертификаты цепочки, ваш сервер будет работать, но клиенты иногда не смогут подключиться к нему, возможно, почти все время, возможно, только изредка. Получите правильные сертификаты цепочки в формате PEM (тот, который вы уже видели, с -----BEGIN CERTIFICATE-----
через -----END CERTIFICATE-----
) и поместите их в файл, например chain.txt
, и добавить -certfile chain.txt
на ваш pkcs12 -export
команда.
PS - большинство людей и примеров используют .pem
не .txt
как расширение для файлов в формате PEM, подобных этим. В openssl
программное обеспечение работает в любом случае, но оно более значимо и полезно для людей.