Поделиться через


Настройка страниц веб-регистрации служб сертификатов

Службы сертификатов предоставляют страницы веб-регистрации, которые можно использовать для запроса сертификатов. Администратор может настроить некоторые элементы, которые можно просматривать на страницах веб-регистрации; Однако прежде чем вносить какие-либо изменения, вы должны быть знакомы со страницами регистрации и веб-скриптами. Дополнительные сведения о веб-скриптах см. в разделе Скрипты.

Значения по умолчанию для полей "Различающееся имя" для "Организация", "Подразделение", "Locality", "Штат" и "Страна/регион" являются значениями, указанными для центра сертификации (ЦС) при установке служб сертификатов. Эти значения по умолчанию отображаются на веб-страницах и могут быть изменены пользователем в процессе регистрации сертификата. Однако если вы хотите, чтобы на веб-страницах отображались другие значения по умолчанию, можно изменить файл Certdat.inc (в пути \WindowsDirectory\System32\Certsrv\); В частности, можно назначить пользовательские значения следующим переменным, предоставленным для настройки.

Переменная Описание
sDefaultCompany Компания по умолчанию (отображается в запросе сертификата как поле X.509 Organization).
sDefaultOrgUnit Отдел по умолчанию (отображается в запросе на сертификат как поле "Подразделение X.509").
sDefaultLocality Город по умолчанию (отображается в запросе сертификата как поле "Расположение X.509").
sDefaultState Штат или провинция по умолчанию (отображается в запросе сертификата как поле "Состояние X.509").
sDefaultCountry Страна или регион по умолчанию (отображается в запросе сертификата как поле "Страна/регион X.509").
nPendingTimeoutDays Количество дней, в течение которых пользователь может получить ожидающий сертификат после запроса.

 

Другие переменные в файле Certdat.inc не должны изменяться.

В следующем примере для организационной единицы по умолчанию задается значение "Маркетинг".

sDefaultOrgUnit="Marketing"

Кроме того, вы можете изменить файл Certrqtp.inc, чтобы добавить, изменить или удалить шаблоны сертификатов или типы, доступные пользователю. Эти шаблоны и типы, а также связанные сведения содержатся в размерном массиве с именем rgAvailReqTypes(m,5).

Этот массив, как и все массивы Visual Basic Scripting Edition, основан на нуле, и в результате первое измерение массива ( m) выделяет память для элементов m+1. Таким образом, если при настройке веб-страниц необходимо изменить количество элементов в массиве rgAvailReqTypes, присвойте измерению m значение на единицу меньше, чем общее количество элементов. Например, если у вас будет семь шаблонов сертификатов, измените объявление rgAvailReqTypes, как показано в следующем примере.

Dim rgAvailReqTypes(6,5)

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

Чтобы упростить понимание того, к каким из этих полей осуществляется доступ, Certrqtp.inc также предоставляет следующие константы, которые можно использовать при настройке значений полей.

Константа Описание
FIELD_OID (Применяется к автономным ЦС) Индекс по первому полю элемента; представляет идентификатор объекта (OID) для типа сертификата.
FIELD_TEMPLATE (Относится к корпоративным ЦС) Индекс по первому полю элемента; представляет шаблон сертификата.
FIELD_FRIENDLYNAME Индекс на второе поле элемента; представляет отображаемое имя (которое пользователь увидит при регистрации) элемента в первом поле.
FIELD_CSPLIST Индекс до третьего поля элемента. Список имен поставщиков служб шифрования , разрешенных шаблоном. Каждое имя в списке разделено вопросительным знаком (?).
FIELD_CSPLIST2 Индекс в четвертом поле элемента. Дополнительный список имен поставщиков служб шифрования , разрешенных шаблоном. Каждое имя в списке разделено вопросительным знаком (?). Этот список предоставляет другое значение по умолчанию.
FIELD_EXPORTABLE Индекс до пятого поля элемента. Указывает, должен ли шаблон указывать, что ключ должен быть экспортируемым. Если это поле содержит значение True, ключ можно экспортировать. Если это поле содержит значение False, ключ не может быть экспортируемым.
FIELD_NEEDS_SMIME_CAPABILITIES Эта константа не поддерживается.

 

Например, следующие выражения присваивают OID 1.3.6.1.5.5.7.3.2 первому полю первого элемента, а "Сертификат веб-браузера" — второму полю первого элемента (нулевое значение массива индексирует первый элемент).

rgAvailReqTypes(0, FIELD_OID) = "1.3.6.1.5.5.7.3.2"
rgAvailReqTypes(0, FIELD_FRIENDLYNAME) = "Web Browser Certificate"

Результатом этих назначений является то, что при регистрации пользователь увидит текстовый сертификат веб-браузера , и если пользователь выбирает Сертификат веб-браузера, запрос сертификата будет содержать идентификатор OID 1.3.6.1.5.5.7.3.2.

Файл Certrqtp.inc также содержит константы, используемые для отображаемых имен шаблонов или типов сертификатов. В следующем примере показан формат .

' Strings for localization.
Const L_WebBrowserCert_Text="Web Browser Certificate"
Const L_EmailProtectionCert_Text="E-Mail Protection Certificate"
Const L_UserTemplateCert_Text="User Certificate"

Эти константы определяются в блоке в файле Certrqtp.inc, и такое группирование упрощает назначение каждому из них настраиваемого значения. Это особенно полезно при локализации отображаемых имен для международных версий веб-страниц.

Наконец, файл Certrqtp.inc содержит переменную, представляющую количество шаблонов сертификатов или типов в массиве rgAvailReqTypes. В отличие от измерения m массива задайте для переменной nAvailReqTypes фактическое количество шаблонов сертификатов или типов, которые будут использоваться в вашей установке; Это значение не должно быть больше m+1. Несмотря на объявление в верхней части файла Certrqtp.inc, nAvailReqTypes присваивается значение после заполнения массива rgAvailReqTypes, что упрощает просмотр количества элементов, используемых массивом. Значение nAvailReqTypes используется в итерации в другом месте на страницах веб-регистрации, поэтому важно, чтобы эта переменная точно отражала количество шаблонов сертификатов или типов, которые должны быть доступны для просмотра пользователю.

Обратите внимание, что простое добавление шаблонов и типов сертификатов в файл Certrqtp.inc не гарантирует, что пользователь сможет получить сертификат с этими признаками. ЦС должен быть авторизован для выдачи сертификата для указанного шаблона или типа сертификата.

Установки могут создавать собственные приложения или веб-страницы для запроса и получения сертификата. Объекты ICEnroll4 и ICertRequest2 позволяют программистам или скриптировщикам создавать приложения для запроса сертификатов .

Чтобы запросить выдачу сертификата на смарт-карта, можно использовать элемент управления регистрацией смарт-карт. Дополнительные сведения и примеры кода см. в разделе ISCrdEnr.