Добавление Подчиненных альтернативных названий (SAN) к существующему Сертификату подписывая запрос (CSR)

Если Вы задаете эти вопросы, действительно необходимо провести больше исследования, прежде чем Вы вскочите в установку AD.

Хорошее чтение:

http://technet.microsoft.com/en-us/library/cc758535%28WS.10%29.aspx

http://technet.microsoft.com/en-us/library/cc770946%28WS.10%29.aspx

http://technet.microsoft.com/en-us/library/bb727030.aspx

DNS и AD идут рука об руку. Доменное имя, которое Вы выбираете, должно быть глобально уникальным, но не routable. Лучшая практика должна сделать это субдоменом домена, которым Вы уже владеете, но не представление его к Интернету. Если Вы не владеете доменным именем и просто делаете это для тестирования, можно использовать любой нестандартный TLD.

9
задан 8 December 2017 в 17:51
3 ответа

Если Ваше шасси не будет поддерживать добавляющие SAN, то необходимо будет получить ключ от шасси и генерировать CSR с openssl.

Удостовериться req_extensions = v3_req не прокомментирован в [ req ] раздел.

Добавьте subjectAltName к [ v3_req ] раздел.

Генерируйте новый CSR.

openssl req -new -key extracted_c7000.key -out your_new.csr

Вы не можете отредактировать существующий CSR.

15
ответ дан 2 December 2019 в 22:27

Важное примечание: Все это является несколько спекулятивным, поэтому если Вы глубоки в коде, и он не соглашается с тем, что я говорю, верю коду. Я не эксперт CA, я просто играю один по телевизору. Это сказало:

Как функция CSRS, это будет жестко. Заключительный шаг в генерации CSR программно должен хешировать все, что Вы создали и затем подписываете его с закрытым ключом. Так, в то время как Вы могли добавить те атрибуты к тексту CSR, подпись не совпадет с содержанием, таким образом, никакой CA не подписал бы его.

В Вашем случае, тем не менее, Вы управляете (или находятся, по крайней мере, в контакте с), Приблизительно. Это дает Вам две опции:

  1. Можно дать CA команду беспечно игнорировать подпись на CSR и выпускать сертификат так или иначе.
  2. У Вас может быть проблема CA другой сертификат, чем, что требуют (например, путем добавления атрибутов).

Из них № 1 кажется безусловно самым легким. Необходимо будет повредить очевидную для трамбовки изоляцию на OpenSSL, чтобы заставить это делать это, но это имеет некоторые функции, которые должны сделать вполне немного легче. Я запустил бы с asn1parse, который покажет Вам, как разбить CSR.

0
ответ дан 2 December 2019 в 22:27

Хотя ответ cakemox определенно самый простой, если вы каким-то образом можете получить копию закрытого ключа, есть другой способ, если вы не можете, просто повторно подписав CSR с помощью «Агента регистрации» сертификат.

Это сообщение в блоге css-security.com содержит все мельчайшие подробности. Но общий обзор процесса выглядит следующим образом:

  • Получение сертификата агента регистрации
  • Измените шаблон сертификата SSL, чтобы для его выдачи требовался сертификат EA
  • Получите CSR, которому требуется информация SAN
  • Используйте Сертификат EA для выхода из CSR при добавлении информации SAN

Когда я пробовал это лично, я почти уверен, что пропустил часть об изменении шаблона сертификата. Предполагая, что вы можете создать сертификат агента регистрации для себя, фактический процесс выглядит примерно так.

Создайте san.inf с информацией о расширении SAN в нем

[Extensions]
2.5.29.17="{text}dns=mysan1.example&dns=mysan2.example"

Повторно подпишите запрос

certreq -policy -config "myca.example\CA" orig-request.csr san.inf corrected-request.csr

Отправьте исправленный запрос

certreq -submit -config "myca.example\CA" -attrib "CertificateTemplate:MyTemplate" corrected-request.csr

А затем продолжите процесс выдачи как обычно.

0
ответ дан 2 December 2019 в 22:27

Теги

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