Введение в мастер Advanced Certificate Request Wizard для Vista и Windows Server 2008
Из всех проблем, с которыми сталкиваются администраторы на сегодняшний день, самая сложная связана с пониманием и управлением инфраструктурой открытого ключа (Public Key Infrastructure). Кажется, что каждый раз, когда субъект сертификата появляется в плане установке, то появляется некоторое замешательство относительно того, сертификат какого типа следует использовать, какую информацию необходимо включать в сертификат, а также, как необходимо устанавливать данный сертификат. К несчастью, в операционной системе Windows Server 2008 эта задача не стала проще, а в действительности, делает рутинную работу по получению сертификат еще более сложной из-за изменений в регистрационном веб сайте (Web enrollment site).
Однако, если вы заинтересованы в сертификатах и формировании запросов на получение сертификатов, и если вы также заинтересованы получении четкого контроля над запросами на получение сертификатов, а также в возможности использования шаблонов для сертификатов, то вам очень понравится новый мастер Advanced Certificate Request Wizard, который входит в состав Windows Server 2008 и Windows Vista Certificates MMC. Эти новые мастера позволяют вам контролировать практически все аспекты, связанные с запросами сертификатов с помощью удобного интерфейса.
Новый мастер предоставляет решение для общего сценария, когда вам необходимо запрашивать сертификаты для компьютеров, которые не являются членами домена. Это не является проблемой для членов домена, т.к. компьютеры, которые подключены к домену, могут легко запрашивать сертификат рабочего CA. Также, для компьютеров, которые подключены к домену, можно настроить автоматическую регистрацию для получения компьютерного сертификата. Компьютеры, не подключенные к домену, такой возможности не имеют.
В предыдущих версиях сайта для веб регистраций (Web enrollment site), вы легко могли получить компьютерный сертификат для компьютера, который не подключен к домену, с помощью компьютерного шаблона (Computer template). В версии регистрационного веб сайта для Windows Server 2008 такая возможность исчезла для компьютеров, которые работают под управлением Windows Vista и Windows Server 2008. Поэтому нам нужен альтернативный метод для запроса компьютерного сертификата с CA на регистрационном веб сайте.
Именно в этом нам поможет новый параметр Advanced Operations (дополнительные операции). С помощью нового мастера для запроса сертификатов, входящего в состав Windows Server 2008 или Windows Vista, вы легко сможете создать текстовый файл на основании установленных шаблонов, который поможет вам создать сертификат любого типа. Кроме этого, у вас появится четкий контроль над конфигурацией сертификатов.
На рисунке ниже показано, как можно получить доступ к новому мастеру по запросу сертификатов. В этом примере я создал консоль Certificates MMC на контроллере домена Windows Server 2008, на котором установлено отдельное хранилище сертификатов CA. В консоли Certificates (сертификаты) щелкните правой кнопкой мыши на Certificates store перейдите к All Tasks (все задачи) и выберите Advanced Operations (дополнительные операции). Затем выберите Create custom request (создать специальный запрос). Это позволит вам создать текстовый файл, который вы сможете представить на рассмотрение регистрационному веб сайту для получения сертификата.
Рисунок 1
Мастер для работы с сертификатами запустится со страницы Before You Begin (перед началом). Нажмите на кнопку Next (далее) на этой странице.
Рисунок 2
На странице Custom request (специальный запрос) у вас есть возможность выбора шаблона для сертификата Template , который вы хотите использовать.
Рисунок 3
Когда вы нажмете на стрелку вниз в выпадающем списке Template (шаблон), вы увидите список доступных шаблонов, которые вы можете использовать для автоматической настройки сертификата. Обратите внимание, что после выбора шаблона вы все еще можете настроить параметры. В этом примере я выбираю компьютерный сертификат Computer certificate.
Рисунок 4
На странице Certificate Information (информация о сертификате) вы можете увидеть Key usage (ключи), Application policies (прикладные политики) и Validity period (период действия) для сертификата, который будет сформирован. Однако, нам может понадобиться изменить некоторые параметры этого сертификата. Мы можем сделать это, нажав на кнопку Properties (свойства).
Рисунок 5
В результате этого откроется диалоговое окно Certificate Properties (свойства сертификата). В закладке General (Общие) вы можете изменить название и описание, по которому вы будете идентифицировать сертификат. В этом примере мы введем в поле Friendly name название ComputerCert.
Рисунок 6
На закладке the Subject (субъект) вы можете назначить название подсети для сертификата. Субъект сертификата – это пользователь или компьютер, для которого выпускается данный сертификат. Это название используется для идентификации пользователя или компьютера на компьютере или в приложениях, которые запрашивают данную информацию. В этом примере мы введем общее название nyc-cl1.woodgrovebank.com в текстовом поле Value (значение), которое располагается в секции Subject name. Затем нажмите на кнопку Add (добавить), и оно появится с правой стороны. Мы также введем это название в поле Alternative name и введем имя DNS, которое в нашем случае cl1.woodgrovebank.com.
Обратите внимание, что в промышленной среде лучше использовать другое название для альтернативного имени субъекта. Определенные сервера, такие как Exchange 2007 и Office Communications Server 2007 используют альтернативные названия субъекта, содержащиеся в установленных сертификатах.
Рисунок 7
У вас есть множество параметров на закладке Extensions (Дополнения). Первые параметр Key usage. Обратите внимание, что шаблон уже выбрал для вас параметры Digital signature (цифровая подпись) и Key encipherment (шифрование ключа). Однако, если хотите, то вы можете выбрать другие параметры.
Рисунок 8
В разделе Extended Key Usage (application polices) вы можете увидеть, что шаблон выбрал для вас параметры Server Authentication и Client Authentication. Опять же, если вы хотите выбрать дополнительные параметры, то вы можете выбрать их здесь из списка Available options.
Рисунок 9
Параметр Basic constraints (основные ограничения) позволяет вам подключить основные ограничения. Его нельзя настроить, т.к. в шаблоне не включен это параметр.
Рисунок 10
В разделе Include Symmetric algorithm вы можете включить параметр, который предоставляет информацию о системных возможностях сертификатов, выпущенных данным шаблоном. И снова, в шаблоне не включен этот параметр, но вы можете это сделать, если он вам нужен.
Рисунок 11
В разделе Custom extension definition вы можете ввести ваши собственные особые идентификаторы объектов (Object Identifiers) и их значения. Это полезно в том случае, если у вас есть приложение или шлюз, которые ожидают получать определенные OID и фильтруют доступ к сертификату с помощью этих особых OID. Шаблона для компьютерного сертификата не использует никаких специальных OID, поэтому здесь ничего не введено.
Рисунок 12
В закладке Private Key (закрытый ключ) вы можете настроить различные аспекты закрытого ключа. В разделе Cryptographic Service Programs (CSP) вы можете выбрать CSP на ваш выбор, если выбранный вами шаблон поддерживает эту CSP. В этом примере мы используем шаблон для компьютерного сертификата, поэтому доступен только параметр Microsoft RSA SChannel Cryptographic Provider (Encryption). Если вы поставите галочку в поле Show all CSPs, то можете увидеть, что в этом случае остальные CSP не действительны для этого шаблона сертификата.
Рисунок 13
В разделе Key options (параметры ключа) вы можете выбрать параметр Key size (размер ключа). Дополнительно вы можете включить или отключить параметры Make private key exportable (сделать закрытый ключ экспортируемым), Allow private key to be archived (разрешить архивацию закрытого ключа) и Strong private key protection (сильная защита закрытого ключа). Параметр Make private key exportable не включена по шаблону, но я включил ее в этом примере, т.к. я хочу, чтобы закрытый ключ был экспортируемым.
Рисунок 14
В разделе Key type (Тип ключа) описано применение закрытого ключа, связанного с сертификатом. Шаблон автоматически выбрал параметр Exchange, который вам понадобится, если вы хотите использовать сертификат для аутентификации на сервере и на клиенте.
Рисунок 15
В разделе Key permissions вы можете задать, кто будет иметь доступ к закрытому ключу. Я был бы рад рассказать вам о назначении этой настройки, но по ней нет никакой документации, а я не смог придумать сценарий, где могла бы понадобиться такая настройка.
Рисунок 16
После того, как вы сделаете свой выбор, вы можете увидеть Key usage, Application policies и Validity period. Я предполагаю, что Validity period (период действия) определяется шаблоном, т.к. нет параметров, позволяющих подтвердить период действия.
Рисунок 17
На следующем этапе нужно присвоить название текстовому файлу с запросом сертификата. В этом примере я назову его c:\NYC-CL1-CERT. Я также сохраню его в текстовом файле с кодировкой Base 64, именно такой файл примет сервер Windows Server 2008 Certificate Server.
Рисунок 18
После того, как мы сохранили файл, откроем его с помощью блокнота (notepad). Выделите весь текст в файле с помощью пункта Select All (выделить все) в меню Edit (редактировать). Затем выберите Copy (Копировать) из меню Edit, чтобы скопировать эту информацию в буфер обмена. Мы вставим эту информацию в форме регистрационного веб сайта, чтобы получить сертификат.
Рисунок 19
В этом примере мы используем отдельно стоящее CA. Почему? Т.к. если бы мы использовали корпоративное CA, мы должны были бы использовать шаблон сертификата. Мы не хотим использовать шаблон сертификат на CA, т.к. мы уже создали запрос, который мы хотим использовать, с помощью шаблона сертификата. Если вы используете корпоративное CA и создаете ваш запрос с помощью одного из имеющихся шаблонов для сертификатов, то настройки шаблона для сертификатов CA будут переписаны настройками, которые мы задали с помощью мастера, а это не то, что нам нужно.
Чтобы подключиться к регистрационному веб сайту отдельно стоящего CA, введите http://servername/certsrv. В результате этого появится страница приветствия Welcome. На странице приветствия нажмите на ссылку Request a certificate (запросить сертификат).
Рисунок 20
На странице Request a Certificate (запросить сертификат) нажмите на ссылку advanced certificate request (расширенный запрос сертификата) .
Рисунок 21
На странице Advanced Certificate Request нажмите на ссылку Submit a certificate request by using a base-64-encoded CMC or PKCS#10 file, or submit a renewal request by using a base-64-encoded PKCS#7 file.
Рисунок 22
На странице Submit a Certificate Request or Renewal Request вставьте содержимое файла с запросом сертификата в текстовое поле Saved Request (сохраненный запрос). Обратите внимание, что вам не нужно использовать шаблон для сертификата. Напротив, если бы это было корпоративное CA, то вы обязаны были бы использовать шаблон для сертификата, а, следовательно, потеряли бы все настройки, которые вы задали при помощи мастера. Нажмите на кнопку Submit (подтвердить).
Рисунок 23
На странице Certificate Pending (ожидание сертификата) вы увидите, что запросу был присвоен Request Id. Обратите внимание, что сертификат выпускается не сразу. Таковы настройки по умолчанию для отдельно стоящего CA. Для отдельно стоящих CA, запрос на получение сертификата должен быть одобрен, прежде чем сертификат будет выпущен. Напротив, для корпоративного CA сертификат выпускает мгновенно.
Рисунок 24
Теперь давайте вернемся на домашнюю страницу регистрационного веб сайта. Нажмите на ссылку View the status of a pending certificate request (просмотреть статус ожидающего запроса).
Рисунок 25
На странице View the Status of a Pending Certificate Request вы можете увидеть ссылку на сохраненный запрос на получение сертификата. Нажмите на эту ссылку.
Рисунок 26
В результате этого откроется страница Certificate Pending , на которой вы увидите, что ваш запрос по прежнему находится в режиме ожидания. Чтобы исправить это, мы должны перейти в консоль Certificate Authority (хранилище сертификатов) и выпустить сертификат.
Рисунок 27
В консоли Certification Authority раскройте название CA и выберите узел Pending Requests (ожидающие запросы) в левой части консоли. В правой части консоли вы увидите список запросов сертификатов в порядке возрастания их Request ID. Наш запрос сертификата имеет Request ID равный 3, поэтому мы щелкнем на нем правой кнопкой мыши перейдем All Tasks (все задачи) и выберем Issue (выпустить).
Рисунок 28
Теперь, когда сертификат выпущен, вы можете получить его с помощью регистрационного веб сайта. Вернитесь на домашнюю страницу регистрационного веб сайта и нажмите на ссылку View the status of a pending certificate request (посмотреть статус ожидающего запроса сертификата ).
Рисунок 29
На странице View the Status of a Pending Certificate Request нажмите на ссылку Save-Request.
Рисунок 30
На странице Certificate Issued вы можете выбрать загрузить сертификат, либо в файл в кодировке DER encoded, либо в файл в кодировке Base 64 encoded. В целом это не важно, какой тип вы выберете. Если вы нажмете на ссылку Download certificate (загрузить сертификат), то вы получите компьютерный сертификат вместе с закрытым ключом. Если вы выберете ссылку Download certificate chain, то вы получите компьютерный сертификат с его закрытым ключом, а также получите CA сертификаты со всех CA, находящихся в цепи сертификатов (certificate chain). Эта ссылка очень полезна, если вы устанавливаете компьютерный сертификат на компьютер, который не является членом домена, т.к. вам необходимо установить сертификат CA в машинном хранилище сертификатов Trusted Root Certification Authorities, чтобы эта машина доверяла компьютерному сертификату.
В этом примере я лишь загрузил сертификат, чтобы мы смогли на него посмотреть.
Рисунок 31
Нажмите на кнопку Save (сохранить) в диалоговом окне File Download.
Рисунок 32
Я сохранил сертификат на своем рабочем столе.
Рисунок 33
Дважды щелкните на сертификате. На закладке General (Общие) вы можете увидеть, что был выпущен сертификат с общем именем, которое мы настроили.
Рисунок 34
Выберите закладку Details (подробно). Здесь вы можете увидеть все параметры, которые мы настроили с помощью мастера.
Рисунок 35
Резюме
В этой статье мы рассмотрели новый мастер для запроса сертификатов, входящий в состав Windows Server 2008 и Windows Vista. Новый мастер позволяет нам создать текстовый файл для запроса сертификата, который мы можем применить для CA, которое может выпустить сертификат. Мастер позволяет нам использовать встроенные шаблоны для сертификатов, если вы запускаете его на компьютере с хранилищем сертификатов (certificate authority). Дополнительно, вы можете получить полный контроль над множеством настроек в вашем сертификате с помощью настраиваемых параметров. Новый мастер очень полезен в средах Vista и Windows Server 2008, т.к. в них нет больше возможности создать запрос на компьютерный сертификат в режиме реального времени.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.