Назад | Перейти на главную страницу

Альтернативное имя субъекта не добавлено в сертификат

Я пытаюсь выпустить новый сертификат, используя поле дополнительных атрибутов в Windows CertSrv Web-Enrollment Client.

Я добавил CSR, выбрал шаблон и ввел его в поле атрибутов:

SAN:dns=HOSTNAME&dns=HOSTNAME.DOMAIN.COM&ipaddress=IPADRESS

Запрос выполнен успешно, но когда я проверяю подписанный сертификат, к нему не добавляется атрибут «Альтернативные имена». Я что-то упускаю? Может проблема с шаблоном? (использовалась копия шаблона веб-сервера уровня Win 2003 по умолчанию с некоторыми пользовательскими настройками).

/ edit Также я пробовал использовать

certreq -submit -attrib "CertificateTemplate:MYTEMPLATE" <Cert Request.req> -attrib "SAN:dns=HOSTNAME&dns=HOSTNAME2&ipaddress=IPADDRESS"

что приводит к той же проблеме: создается сертификат, но без атрибута SAN.

/ edit2 также я установил CA для выдачи сертификатов SAN, используя

certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2

и перезапуск службы CA. Тем не менее: SAN нет.

Обратите внимание: используя req. файлы и OpenSSL для создания CSR. Я могу генерировать сертификаты, используя CA, в который включены некоторые SAN. Однако этот вариант недействителен в моей текущей ситуации, поскольку я получаю CSR из приложения, и я не могу вручную создать его для приложения.

/ edit3 Я попытался использовать сертификат веб-сервера по умолчанию БЕЗ каких-либо изменений, и внезапно он сработал. Итак, теперь вопрос: каковы требования к шаблону для включения SAN?

Я знаю, что это старый, но я только что понял это сам и подумал, что это может помочь кому-то другому. Мне тоже не удалось заставить CA добавить SAN через веб-страницу или certreq ... -attrib "SAN:DNS=<FQDN>[&DNS=<FQND2>...]..." формат. Атрибут SAN был проигнорирован, даже если сертификат был выдан.

Однако я обнаружил, что он работает с таким форматом: certreq -attrib "CertificateTemplate:WebServer\nSAN:DNS=<Name1>[&DNS=<name2>...][&IPAddress=<IP1>...]" <csr filename> <cer filename>

Например, если у вас есть файл запроса сертификата с именем HP_VC.csr и вы хотите, чтобы альтернативные имена субъектов были vc1, vc2, vc1.domain.com, vc2.domain.com, 192.168.1.1 и 192.168.1.2, команда будет быть:

certreq -attrib "CertificateTemplate:WebServer\nSAN:DNS=vc1&DNS=vc2&DNS=vc1.domain.com&DNS=vc2.domain.com&IPAddress=192.168.1.1&IPAddress=192.168.1.2" HP_VC.csr HP_VC.cer

Сертификат в HP_VC.cer будет содержать атрибут SAN.

Я использую это для модулей HP Virtual Connect (VC), встроенных администраторов (OA) и iLOs. Он должен работать для любой общей ситуации, когда требуется сертификат с SAN.

Здесь тоже есть хороший ответ, который решил проблему для меня: http://terenceluk.blogspot.com/2017/09/adding-san-subject-alternative-name.html

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