Выпуск wildcard сертификата в Windows Certification Authority

Обновлено 19.01.2023

Windows ca logoДобрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами произвели настройку сети в CentOS 7.4. В сегодняшней публикации я разберу ситуацию, когда вам необходимо выпустить на вашем Windows центре сертификации, сертификат вида Wildcard. Мы поговорим, где применяется такой сертификат. Думаю, что данная информация найдет своего читателя.

Что такое Wildcard сертификат

Ранее я вам рассказывал, что из себя представляют SSL сертификаты и там я описывал принцип работы wildcard, давайте я напомню его определение. Wildcard (Подстановочный сертификат) - это цифровой сертификат, который применяется к домену и всем его поддоменам. Обозначение подстановочного знака состоит из звездочки и точки (*.) перед доменным именем. Сертификаты Secure Sockets Layer ( SSL ) часто используют подстановочные знаки для расширения шифрования SSL для поддоменов. Обычный SSL-сертификат работает на одном домене, например root.pyatilistnik.org. Wildcard SSL сертификат для * .pyatilistnik.org также защищает mail.pyatilistnik.org, vpn.pyatilistnik.org, payment.pyatilistnik.org и т.д.

Распространение одного сертификата на субдомены вместо покупки отдельных сертификатов может сэкономить деньги и упростить администрирование. Недостатком, однако, является то, что если сертификат должен быть отозван на одном поддомене, он должен быть отозван и на всех остальных. Например, если поддомен, такой как payment.pyatilistnik.org, скомпрометирован, то это касается и поддоменов mail и vpn . Приобретение отдельных сертификатов может стоить немного больше и потребовать больше администрирования, но это также гарантирует, что каждый поддомен индивидуально защищен.

Очень часто я встречал использование Wildcard сертификата на разных сайтах, развернутых на IIS, в системах внутреннего документооборота.

Как выпустить Wildcard SSL сертификат в Active Directory

И так у вас есть развернутый домен Active Directory, внутри домена есть инфраструктура по выпуску сертификатов, через Windows роль "Центр Сертификации". Поступила задача выпустить для вашего домена Wildcard SSL сертификат, чтобы использовать его на разных проектах предприятия. Что вы делаете, открываете окно "Выполнить" и пишите там слово mmc.

Запуск mmc в выполнить

У вас откроется окно для добавления оснасток mmc. Нажмите меню "Файл - Добавить или удалить оснастку".

Добавление оснастки в mmc

Находим в левом разделе "Доступные оснастки" запись "Сертификаты" и нажимаем "Добавить".

добавление оснастки сертификаты в mmc

Выбираем пункт "Учетной записи компьютера" и нажимаем далее.

Выпуск wildcard ssl сертификата-04

Оставляем, эта оснастка управляет "Локальным компьютером" и нажимаем готово.

Выбор компьютера в mmc

Видим, что в корень консоли был добавлен пункт "Сертификаты", нажимаем "Ok".

Выпуск wildcard ssl сертификата-06

Следующим шагом, переходим в раздел "личное - Сертификаты" и щелкаем по ним правой кнопкой мыши, из контекстного меню выбираем пункт "Все задачи (All Tasks) - Дополнительные операции (Advanced Options) - Создать настраиваемый запрос (Create Custom Request)"

Создать настраиваемый запрос

У вас откроется мастер регистрации сертификатов, на первом экране просто нажимаем "Далее".

мастер регистрации сертификатов

В выборе политики регистрации сертификатов выбираем пункт "Продолжить без политики регистрации (roceed without enrolment Policy)".

Продолжить без политики регистрации (roceed without enrolment Policy)

В шаблоне выставляем "Старый ключ (без шаблона)", формат записи "PKCS#10" и нажимаем далее.

Старый ключ (без шаблона)

Раскрываем подробности и щелкаем по кнопке "Свойства".

Свойства выпускаемого wildcard

У вас откроется дополнительная форма со свойствами запрашиваемого сертификата. В понятном имени задаем, как будет вам удобно идентифицировать ваш сертификат, я подпишу его *.root.pyatilistnik.org, в описании можете задать Wildcard SSL сертификат для домена root.pyatilistnik.org.

Общие свойства сертификата wildcard

Переходим на вкладку "Субъект", это самое важное в настройке Wildcard сертификата. Тут задается с какими доменными именами будет работать SSL, его поля. Задаваемые поля:

  • Общее имя (Common Name) - Наименование сертификата. Это поле используется для идентификации сертификата. Добавление * перед именем домена указывает на подстановочный сертификат для этого домена. Я пропишу *.root.pyatilistnik.org.

настройка Wildcard сертификата

    • Страна (Country) - пишем RU и добавляем на право
    • Подразделение (Organizational Unit) - например, пишем IT
    • Область (State) - Я пишу Moscow
    • Размещение (Location) - Я пишу Moscow
    • Организация (Organization) - Я пишу Pyatilistnik Inc

Вкладка субъект в свойствах wildcard

Не забывайте в дополнительных именах указать "Службы DNS", где пропишите по очереди *.pyatilistnik.org и pyatilistnik.org или как для 4-шл уровня *.root.pyatilistnik.org и root.pyatilistnik.org.

Сертификат расширение DNS

В противном случае вы будите после установки сертификата получать в браузерах ошибку SSL_ERROR_BAD_CERT_DOMAIN.

Переходим на вкладку "Расширения (Extensions)", тут мы зададим под, что мы будем использовать ваш Wildcard SSL сертификат, так называемые OID (Оиды). Раскрываем пункт "Использование ключа", из левой панели переносим вот такие пункты:

  • Цифровая подпись (Digital Signature)
  • Шифрование ключей (Key encipherment)

Расширения (Extensions) Wildcard

Так же при необходимости можете открыть "Расширенное использование ключа", тут много дополнительных возможностей:

  • Проверка подлинности сервера
  • Проверка подлинности клиента
  • Подписание кода
  • Защищенная электронная почта
  • Установка метки времени
  • Подписывание списка доверия (Microsoft)
  • Установка метки времени (Microsoft)
  • Конечная система IP-безопасности
  • Окончание туннеля IP-безопасности
  • Пользователь IP-безопасности
  • Шифрующая файловая система (EFS)
  • Проверка драйверов оборудования Windows
  • Проверяет системные компоненты Windows
  • Проверка системных компонентов OEM Windows
  • Встроенная проверка системных компонентов Windows
  • Лицензии пакета ключей
  • Проверка сервера лицензий
  • Вход со смарт-картой
  • Цифровые права
  • Квалифицированное подчинение
  • Восстановление ключа
  • Подписывание документа
  • IKE-посредник IP-безопасности
  • Восстановление файлов
  • Подпись корневого списка
  • Все политики применения
  • Почтовая репликация службы каталогов
  • Агент запроса сертификата
  • Агент восстановления ключей
  • Архивация закрытого ключа
  • Бессрочная подписка
  • Подписание OCSP
  • Любая цель
  • Проверка подлинности центра распространения ключей
  • Подписание кода режима ядра
  • Использование списка доверия сертификатов
  • Автор подписки списка отозванных сертификатов
  • Ранний запуск антивредного драйвера
  • Список запрещенных
  • Расширение HAL
  • Сертификат ключа подтверждения
  • Сертификат платформы
  • Сертификат ключа удостоверения аттестации
  • Компонент наборов средств Windows
  • Проверка Windows RT
  • Нестрогая проверка защищенного процесса
  • Компонент TCB Windows
  • Проверка защищенного процесса
  • Магазин Windows
  • Генератор динамического ключа
  • microsoft Publisher
  • Сторонний компонент приложения для Windows
  • Проверка программного расширения Windows
  • Подпись предварительной сборки
  • Аттестационная проверка Драйверов оборудования Windows
  • Многое другое

Дополнительные OID Wildcard

Переходим на вкладку "закрытый ключ (private key)". В разделе "Параметры ключа" выставите его размер, у меня это будет 4096 байт, обязательно поставьте галку "Сделать закрытый ключ экспортируемым (Make private key exportable)"

Сделать закрытый ключ экспортируемым (Make private key exportable)

При необходимости вы можете задать тип ключа в вашем Wildcard SSL. Тут будет два варианта:

  • Обмен (Exchange) -  относится к обмену ключами шифрования. С помощью S/MIME отправитель шифрует электронную почту с помощью открытого ключа получателя, а получатель расшифровывает сообщение своим закрытым ключом. Exchange = шифровать ключи сессии
  • Подпись (Signature) - означает подтверждение личности отправителя. Само сообщение не зашифровано, однако, если сообщение подделано во время передачи, оно делает недействительной подпись. Для наших целей нам необходимо подтвердить свою личность на удаленном сервере, поэтому мы будем использовать Подпись. Signature = создать цифровую подпись

При желании вы потом с помощью утилиты certutil можете поменять тип у сертификата

Достаточно будет оставить значение по умолчанию (Подпись), второй режим часто используют в VPN построениях. Нажимаем "Ok".

На практике встретил, что тип AT_KEYEXCHANGE потребовался для IIS, конвертировать на лету очень легко любой pfx архив.

Тип Подпись (Signature) Wildcard

В окне сведения о сертификате нажимаем далее.

Регистрация wildcard сертификата

Вас попросят указать имя файла и где его сохранить, оставляем формат файла в виде "base 64". Base 64 - это метод кодирования, разработанный для использования с безопасными/многоцелевыми расширениями почты Интернета (S/MIME), который является популярным, стандартным методом для передачи двоичных вложений через Интернет.

Двоичные данные - DER (отличительные правила кодирования) для ASN.1, как определено в Рекомендации X.509, может использоваться центрами сертификации, которые не работают на компьютерах под управлением Windows Server 2003, поэтому он поддерживается для обеспечения совместимости. Файлы сертификатов DER используют расширение .cer.

Формат base 64

В результате вы получите с вашим CSR запросом. Откройте данный файл с помощью любого текстового редактора и скопируйте его содержимое. Далее вы переходите в веб интерфейс вашего центра сертификации по адресу:

https://адрес сервера/certsrv)

Выбираете пункт "Request a certificate".

Request a certificat

Далее нажимаем "advanced certificate request"

advanced certificate request

В поле "Base-64-encoded certificate request (CMC or PKCS #10 or PKCS #7):" вставляем ваш CSR запрос, выбираем шаблон в поле "Certificate Template" я выбираю "Web Server". После чего нажимаем "Submit".

Выпуск wildcard ssl сертификата-23

Скачиваем ваши сертификат, это пункт "Download certificate", так же можете скачать цепочку в формате p7b, если нужно чтобы еще были корневые сертификаты.

Скачивание Wildcard сертификата

Далее в оснастке сертификаты, открываем раздел "Личное - Сертификаты", щелкаем по ним правым кликом и выбираем пункт "Все задачи - импорт"

Импорт открытого ключа wildcard

В мастере импорта просто нажимаем далее

Мастер импорта сертификатов

Через кнопку "Обзор" укажите ваш сертификат в формате cer.

Выпуск wildcard ssl сертификата-27

Нажимаем далее

импортирование wildcard ssl сертификата

Помещаем его в личное

Выпуск wildcard ssl сертификата-29

В итоге вы увидите, что импорт успешно выполнен.

импорт успешно выполнен

Далее у вас появится ваш сертификат, щелкаем по нему правым кликом и экспортируем его. Ставим, что будем экспортировать, для этого выставите галку "да, экспортировать закрытый ключ". На выходе вы получите pfx архив со всеми ключами, который потом можно использовать.

да, экспортировать закрытый ключ

очень легко без установки вы можете просматривать состав вашего pfx архива в keytool или KeyStore Explore

Просмотр wildcard ssl сертификата в KeyStore Explore

На этом у меня все, мы с вами научились выпускать Wildcard SSL сертификат на центре сертификации Windows. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Автор - Сёмин Иван

4 Responses to Выпуск wildcard сертификата в Windows Certification Authority

  1. fishbmjri761:

    Спасибо

  2. Александр:

    Здравствуйте. Никак не могу разобраться с сертификатами. Понять их логику.
    Настраивал сеть по Вашему образцу: *.root.domain.ru (domain.ru реально работающий сайт).
    В локальной сети есть терминальный сервер rd.root.domain.ru, сам домен с настроенным AD — dc.root.domain.ru. Шлюз удаленных столов пока не делал.
    Шлюз на Kerio. Удаленщики попадают в сеть через kerio vpn client.
    У хостера на наш домен(и поддомены) можно выпускать бесплатный SSL либо от Let’s Encrypt либо WildCart.
    То нужно Корневой CA создавать, который будет без сети. Затем подчиненный CA. А есть еще самоподписанные сертификаты.
    Хочется просто пока на сервер терминалов выпустить сертификат. Можете высказать свои мысли?

  3. Иван Семин:

    Если хостер выпустит сертификат Lets’En crypt, то корневой и промежуточный будут автоматом в доверенных, они публичные

  4. Александр:

    Да, хостер автоматом их перевыпускает по истечении срока. Причем все это бесплатно делает.

    И так. Создал поддомен root. Заказал выпуск сертификата Lets’En crypt на него, при этом на domain.ru будет удален и установлен новый.
    Далее создал поддомен rd и также заказа сертификат на него. Оба поддомена направил на директорию где лежит domain.ru. Но можно было и никуда не направлять. Что правильнее кстати?
    На rd.root.domain.ru(сервер терминалов обычный внутри сети небольшой) народ ходит внутри локалки, из дома по vpn, еще другие ходят через проброс порта(сначала идут на внешний ip шлюза, затем шлюз перекидывает их на ip этого самого сервера терминалов, по имени подглючивает проброс).

    Почему тогда it специалисты не используют данную схему с публичными сертификатами? Зачем все эти Автономные и не автономные CA? Зачем создают дмоен domain.local? Ваша эта статья кстати к автономному CA относится? И wildcard это тот самый wildcart который у хостера можно заказать или просто воспользовались аббревиатурой ? Надеюсь поняли озабоченность новичка в этом вопросе, точнее то, что тема не до конца понятна и если есть возможность, напишите про сертификаты отдельную статью. Какие есть варианты и + и — каждого из них и способы реализации. Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *