У нас есть внутренняя тестовая версия нашего веб-сайта, которая доступна (через внутренние DNS-зоны) по адресу www.mysite.com.test.
Я хочу создать сертификат SSL для www.mysite.com.test, чтобы наши тестировщики не получали предупреждение о недействительности сертификата («настоящий» сертификат привязан к www.mysite.com)
Я знаю, как создавать самозаверяющие сертификаты с помощью OpenSSL, но мне интересно, есть ли какой-то способ связать центр сертификации с нашим доменом Active Directory, чтобы любой пользователь на ПК, который является членом домена, принимал самозаверяющие подписанный сертификат без необходимости явно устанавливать его (или явно устанавливать самозаверяющий центр сертификации в качестве доверенного центра)
Любые идеи?
Вы можете добавить доверенные корни через групповую политику. Так что создайте самоподписанный сертификат, разверните его как доверенный корень, тогда любой сертификат, который вы с ним подписываете, будет доверенным.
Policy Object Name/Computer Configuration/Windows Settings/Security Settings/Public Key Policies/Trusted Root Certification Authorities
Настройка центра сертификации MS не требуется
Если у вас есть сервер с ролью AD CS, который выдает сертификат, он больше не самоподписанный, а выдается вашим внутренним центром сертификации. Чтобы ответить на более важный вопрос, да, вы можете это сделать. Вам нужно будет установить роль службы сертификации Active Directory и создать / распространить сертификаты оттуда. В этом случае не нужно прикасаться к OpenSSL.
Чтобы точно ответить на ваш вопрос: нет, вы не можете создать самозаверяющий сертификат с помощью Active Directory. Однако я думаю, что ваш вопрос смешивает разные вещи.
Для создания самозаверяющих сертификатов у вас есть множество вариантов. Самый простой способ, если вы магазин окон, - это сделать это через IIS (см. Это: http://technet.microsoft.com/library/cc753127%28WS.10%29). Вы также можете сделать это с помощью OpenSSL (довольно беспорядочно, но работает), с помощью инструмента makecert.exe, который поставляется с .NET SDK, или с рядом аналогичных инструментов (я использую свой собственный инструмент для этого, но это только я).
Для интеграции ЦС с AD самый простой способ - установить роль службы сертификатов на машине и настроить ее для интеграции с AD (хотя в вашем случае это не кажется необходимостью, если вы не хотите использовать ее для других целей. ).
Наконец, вы можете создать свой собственный корневой каталог, который не интегрирован с AD. Если вам не нужно работать с аутентификацией сертификата клиента, у вас должно быть много разных серверов (с разными именами), которые вы хотите использовать при тестировании (и, возможно, с автоматическим тестированием), или если вы хотите иметь возможность протестировать какой-то аспект вашего приложения, который использует специальные свойства сертификата или цепочки, вероятно, это не стоит проблем.
В вашем случае, если я понял это правильно, и все, что вы хотите сделать, это протестировать свое веб-приложение с помощью сертификата, все, что я бы сделал, - это сгенерировать самозаверяющий сертификат (используя любой инструмент, который вам больше нравится), а затем установить этот сертификат в правильное хранилище на вашей тестовой машине (чтобы избежать предупреждений и ошибок сертификата)
Могу ли я создать самозаверяющий сертификат IIS, используя Active Directory в качестве центра сертификации?
Нет, ты не можешь. Простая точка - AD - это НЕ ЦС. Так просто.
В WIndows есть компонент CA, который вы можете установить, но это не AD. Это отдельная роль. Но как только вы это сделаете - зачем вообще использовать самоподписанный сертификат?