Генерируем сертификат SHA256, подписанный AD на Windows 2003

Все об администрировании Windows NT/2000/2003/2008/2012 Server (в т.ч. R2) серверов. Групповые политики, домены, безопасность и пр. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1503
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Генерируем сертификат SHA256, подписанный AD на Windows 2003

Сообщение UncleFather »

Задача:

Необходимо получить сертификат SHA256, подписанный основным доменным (ActiveDirectory) сертификатом, но с именем, отличным от доменного. Домен работает на Windows Server 2003 R2.

Готовый сертификат и ключ нужно получить как в формате PKCS#7/P7B/PKCS#12/PFX (crt/key), так и в формате pem. На практике это пригодится для того, чтобы использовать сертификат с ключом как на Windows, так и на Unix/Linux - подобных системах. В частности, для IP АТС на базе Asterisk, например, для PBX Grandstream.

Сертификат должен быть подписан основным доменным (ActiveDirectory) сертификатом для того, чтобы для всех доменных компьютеров цепочка осталась доверенной и не пришлось бы добавлять новый корневой центр сертификации.


Решение 1:

Воспользуемся алгоритмом из статьи Как получить сертификат с именем, отличным от доменного и получим на выходе сертификат в файле crt и ключ в файле key.

Выполним команду для преобразования сертификата crt в pem:

Код: Выделить всё

openssl x509 -in my.domain.crt -out my.domain.crt.pem -outform PEM

Теперь объединим сертификат crt и ключ key в контейнер pfx:

Код: Выделить всё

openssl pkcs12 -export -out my.domain.pfx -inkey my.domain.key -in my.domain.crt

И уже из контейнера pfx получим ключ pem:

Код: Выделить всё

openssl pkcs12 -in my.domain.pfx -out my.domain.pem -nodes

Решение 2:

Первым делом нам понадобится корневой доменный сертификат вместе с ключом. Его можно импортировать с контроллера домена из оснастки «Центр сертификации», выполнив архивацию ЦС с закрытым ключом и сертификатом:

01.jpg

либо из оснастки «Сертификаты» для объекта «Локальный компьютер», так же на контроллере домена, экспортировав корневой сертификат из личных сертификатов компьютера, указав, что в контейнер необходимо экспортировать и закрытый ключ:

02.jpg

И в том, и в другом случае на выходе получим контейнер p12, который разделим на файлы сертификата и ключа в формате pem командами:

Код: Выделить всё

openssl pkcs12 -in my.domain.p12 -nocerts -out my.domain.key.pem -nodes
openssl pkcs12 -in my.domain.p12 -nokeys -out my.domain.cert.pem -nodes
openssl rsa -in my.domain.key.pem -out my.domain.key.txt.pem -text

Теперь воспользуемся алгоритмом из статьи Генерирование самоподписанного сертификата SHA256, начиная с пункта «5. Для генерации сертификата для сайта, создаем файл настроек server.csr.cnf...». В результате получим файлы сертификата crt и ключа key и конвертируем их в формат pem, аналогично Решению 1:

Выполним команду для преобразования сертификата crt в pem:

Код: Выделить всё

openssl x509 -in my.domain.crt -out my.domain.crt.pem -outform PEM

Теперь объединим сертификат crt и ключ key в контейнер pfx:

Код: Выделить всё

openssl pkcs12 -export -out my.domain.pfx -inkey my.domain.key -in my.domain.crt

И уже из контейнера pfx получим ключ pem:

Код: Выделить всё

openssl pkcs12 -in my.domain.pfx -out my.domain.pem -nodes

В итоге имеем доверенный (внутри домена) сертификат с произвольным именем:

2019-09-29_19-14-07.png
2019-09-29_19-14-07.png (7.42 КБ) 3131 просмотр

Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение