Как создать сертификат SSL с помощью текста сертификата SSL от StartSSL?

Я получил сертификат от 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, который не дал мне прекрасных результатов:

unable to load private key

Проблема: Как я предоставляю текст с закрытым ключом? Я имею в виду, где текст с закрытым ключом на панели инструментов StartSSL? Или как я извлекаю его как текст из моего сертификата?

0
задан 13 April 2017 в 15:14
1 ответ

Вы говорите, что хотите создать файл .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 работает в любом случае, но она более значима и полезна для людей.

1
ответ дан 4 December 2019 в 16:51

Теги

Похожие вопросы