Может кто-нибудь сказать мне, как я могу добавить несколько дополнительных имен субъекта в существующий CSR?
Я не говорю о создании CSR с SAN или о добавлении SAN во время подписания - я знаю, как сделать обе эти вещи.
Справочная информация. Проблема, с которой мы столкнулись, заключается в том, что блейд-шасси HP позволяют генерировать CSR, но позволяют использовать только одну сеть SAN. Мы не можем использовать CSR, сгенерированный в другом месте, так как мы не можем использовать результирующий сертификат, так как нет способа (который я могу найти) загрузить ключ в шасси блейда.
Стандартный процесс нашего ЦС не позволяет добавлять SAN во время подписания. Они готовы экспериментировать, однако я пытаюсь найти решение с нашей стороны, так как это будет означать, что нам не нужно будет полагаться на то, что у них нестандартный процесс - по моему опыту, если им нужно использовать нестандартный процесс жизнь в конце концов станет трудной. Например, когда сотрудник, который знает нестандартный процесс, отсутствует в связи с уходом и т. Д.
Текущий метод заключается в подключении к встроенному администратору blade-шасси через веб-интерфейс и создании CSR с одним CN.
Веб-интерфейс позволяет использовать только одно SAN в CSR.
Затем мы самостоятельно подписываем его следующим разделом в конфигурации openssl:
[ v3_ca ]
subjectAltName = "DNS:bladesystem8,DNS:bladesystem8.services.adelaide.edu.au,DNS:bladesystem8-backup,DNS:bladesystem8-backup.services.adelaide.edu.au"
Полученный сертификат имеет дополнительные SAN.
источник
Ответы:
Если ваше шасси не поддерживает добавление SAN, вам нужно получить ключ от шасси и сгенерировать CSR с помощью openssl.
Убедитесь, что
req_extensions = v3_req
в[ req ]
разделе нет комментариев .Добавьте
subjectAltName
в[ v3_req ]
раздел.Создайте новый CSR.
Вы не можете редактировать существующий CSR.
источник
Важное примечание: все это несколько умозрительно, поэтому, если вы глубоко в коде и не согласны с тем, что я говорю, поверьте коду. Я не эксперт по CA, я просто играю по телевизору. Это говорит:
Как особенность КСО, это будет сложно. Последний шаг в программной генерации CSR - это хэшировать все, что вы создали, а затем подписать его закрытым ключом. Таким образом, хотя вы можете добавить эти атрибуты в текст CSR, подпись не будет совпадать с содержимым, поэтому ни один CA не подпишет ее.
В вашем случае, однако, вы контролируете (или, по крайней мере, находитесь в контакте) ЦС. Это дает вам два варианта:
Из них № 1 кажется самым простым. Вам нужно будет сломать очевидную печать на OpenSSL, чтобы заставить это сделать это, но у него есть некоторые функции, которые должны сделать немного легче. Я бы начал с asn1parse, который покажет вам, как разбить CSR.
источник
site.com
вwww.site.com
сертификат как SAN).Хотя ответ cakemox, безусловно, самый простой, если вы можете каким-то образом получить копию закрытого ключа, есть другой способ, если вы не можете просто переподписать CSR с помощью сертификата «Enrollment Agent».
Это сообщение в блоге css-security.com содержит все мельчайшие детали. Но общий обзор процесса выглядит так:
Когда я попробовал это лично, я почти уверен, что пропустил часть об изменении шаблона сертификата. Предполагая, что вы можете сгенерировать сертификат Агента регистрации для себя, сам процесс выглядит примерно так.
Создайте файл san.inf с информацией о расширении SAN.
Повторно подпишите запрос
Отправить исправленный запрос
А затем продолжить как обычно процесс выдачи.
источник