Я получил сертификат от StartSSL для моего домена в чистом тексте, который смотрит несколько как:
-----BEGIN CERTIFICATE----- [...]Many letters and digits[...] -----END CERTIFICATE-----
Я пытаюсь создать a .cer
файл от этого text
использование инструкций, найденных здесь. Наряду с текстом сертификата, я также должен передать текст с закрытым ключом (исправьте меня, если неправильно) как это на командной строке OpenSSL:
openssl pkcs12 -export -out mycertkey.p12 -in certificate.txt -inkey key.txt
Обновление: для опции Create PKCS#12 (PFX) File на сайте StartSSL также нужен закрытый ключ в тексте. Попробованный согласно Micheal комментарий
Согласно недавнему разговору с персоналом StartSSL, я пытался генерировать .cer файл на веб-сайте Преобразователя, но нет никакой опции генерации .cer файла
Согласно моему обсуждению электронная почта распараллеливает с персоналом StartSSL, я полагаю, что закрытый ключ находится в моем CSR, но когда я обеспечил его как ключевое использование pkcs
утилита на инструменте OpenSSL, который не дал мне прекрасных результатов:
Проблема: Как я предоставляю текст с закрытым ключом? Я имею в виду, где текст с закрытым ключом на панели инструментов StartSSL? Или как я извлекаю его как текст из моего сертификата?
Вы говорите, что хотите создать файл .cer
, но инструкции, на которые вы ссылаетесь, этого не делают. Файл .cer
обычно содержит только сертификат или, очень редко, несколько сертификатов, тогда как вся цель .p12
или .pfx
] (по сути это одно и то же) должен содержать закрытый ключ И сертификат (ы) . Если вы пытаетесь запустить сервер SSL / TLS (например, HTTPS, но также LDAPS SMTPS FTPS и т. Д.), Вам нужны как частный ключ, так и сертификат (ы), в противном случае обычно этого не происходит.
Закрытый ключ используется для генерации CSR, но не в нем; CSR отправляется кому-то другому, поэтому он не будет частным. Это не на StartSSL, потому что это не было бы приватным. Этого нет в вашем сертификате, потому что он не будет частным.
Посмотрите, что находится в вашем .pfx
с помощью openssl pkcs12 -in any.pfx -nodes
. Если вывод содержит хотя бы блок, начинающийся со строки ----- BEGIN PRIVATE KEY -----
, за которой следуют несколько строк, все или почти все буквы и цифры, тогда строка - --- КОНЕЦ ЧАСТНОГО КЛЮЧА -----
у вас есть какой-то закрытый ключ. (При использовании OpenSSL ниже версии 1.0.0 будет сказано RSA PRIVATE KEY
вместо просто PRIVATE KEY
.) Если это так, выполните:
openssl pkcs12 -in any.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
работает в любом случае, но она более значима и полезна для людей.