6.2. Поддержка протоколов MS-XCEP и MS-WSTEP
eCA-RA реализует серверные компоненты по протоколам MS-XCEP[1] и MS-WSTEP[2]. Реализация данных серверных компонентов обеспечивает выполнение автоматического сценария распространения сертификатов клиентам и устройствам по протоколу MS-WSTEP.
Сервер политик выпуска сертификатов (CEP-сервер) и сервер выпуска сертификатов (CES-сервер), реализуемые eCA-RA в соответствии с протоколами MS-XCEP и MS-WSTEP, доступны по URL https://HOSTNAME/wstep-service/engine, где “HOSTNAME” - адрес хоста eCA-RA.
eCA-RA в рамках реализации функций CEP-сервера (при получении запроса на политики “GetPolicies”) и функций CES-сервера (при получении запроса на выпуск сертификата “RequestSecurityToken”) обеспечивает следующие способы аутентификации пользователей домена, к которому он подключен:
-
по имени пользователя и паролю;
-
по Kerberos-билету.
Обработка запроса на получение политики “GetPolicies”
Заголовок раздела «Обработка запроса на получение политики “GetPolicies”»eCA-RA при получении запроса “GetPolicies” в случае успешной аутентификации пользователя, от имени которого был выполнен запрос, возвращает в ответе “GetPoliciesResponse” политику выпуска сертификатов.
Общие параметры возвращаемой политики соответствуют таблице ниже.
| Параметр политики | Значение | Примечание |
|---|---|---|
| policyID | 5817949c-a7cd-46ec-90ef-7782cd200b15 | Уникальный идентификатор политики |
| policyFriendlyName | eCA enrollment policy | Отображаемое имя политики |
| nextUpdateHours | 8 | Время в часах, через которое клиент должен запросить обновление политики выпуска сертификатов с CEP-сервера. Значение "8" указано аналогично значению по умолчанию в MS CS. |
| policiesNotChanged | NULL | Параметр, используемый для указания факта изменения политики с момента последнего запроса клиентом. Значение "NULL" указано аналогично значению по умолчанию в MS CS. |
Шаблоны, записываемые в поле “policies” ответа “GetPoliciesResponse”, представляют собой шаблоны подключённого eCA-CA, преобразованные в шаблоны по протоколу MS-XCEP (далее - шаблоны CEP).
При этом в шаблоны CEP преобразовываются только шаблоны eCA-CA одновременно удовлетворяющие следующим условиям:
-
которые присутствуют в правилах выпуска eCA-RA для данного пользователя с режимом обработки “Автоматический выпуск”;
-
у которых включен алгоритм генерации ключевой пары RSA.
В атрибуты возвращаемых шаблонов CEP записываются значения в соответствии с таблицей ниже:
| Атрибут шаблона в сообщении “GetPoliciesResponse” | Примечание |
|---|---|
| commonName | Имя шаблона eCA-CA |
| policySchema | 3 |
| validityPeriodSeconds | Период действия сертификата по шаблону eCA-CA в секундах |
| renewalPeriodSeconds | 10 % от периода действия сертификата по шаблону в секундах |
| enroll | true |
| autoEnroll | true[3] |
| minimalKeyLength | Минимальная длина ключа для алгоритма RSA по шаблону eCA-CA |
| keySpec | 1 |
| keyUsageProperty | NULL |
| permissions | NULL |
| algorithmOIDReference | NULL |
| provider | Microsoft Base Cryptographic Provider v1.0 |
| majorRevision | 1 |
| minorRevision | 0 |
| supersededPolicies | NULL |
| privateKeyFlags | 0 |
| subjectNameFlags | 2181038080[4] |
| enrollmentFlags | 0 |
| generalFlags | 0 - для типа субъекта шаблона “Пользователь”, 64 - для типа субъекта шаблона “Устройство”, 128 - для типа субъекта шаблона “Корневой ЦС”, 2048 - для типа субъекта шаблона “Подчиненный ЦС” |
| hashAlgorithmOIDReference | NULL |
| rARequirements | NULL |
| keyArchivalAttributes | NULL |
| extensions | Строка вида “Имя_шаблона@ID_шаблона”[5] |
Значения атрибутов шаблонов в сообщении “GetPoliciesResponse”
Заголовок раздела «Значения атрибутов шаблонов в сообщении “GetPoliciesResponse”»Параметры издателя сертификатов в возвращаемой политике (блок “cAs”) соответствуют таблице ниже.
| Параметр издателя | Записываемое значение | Примечание |
|---|---|---|
| clientAuthentication | 2 | Данное значение указывается, если пользователь аутентифицируется на CEP-сервере по Kerberos-билету. |
| 4 | Данное значение указывается, если пользователь аутентифицируется на CEP-сервере по имени пользователя и паролю | |
| uri | Адрес CES-сервера | URI CES-сервера. На данный адрес будут направляться запросы пользователя на выпуск сертификата (запрос "RequestSecurityToken" по протоколу MS-WSTEP). Адреса СEP- и CES-серверов, реализуемых eCA-RA, совпадают. |
| priority | 1 | Приоритет издателя. Прочие значения не применимы для политики, формируемой eCA-RA. |
| renewalOnly | False | Значение указывает, что издатель может обрабатывать не только запросы на продление существующих сертификатов, но и запросы на выпуск новых сертификатов. |
| certificate | Сертификат активного центра сертификации eCA-CA | Сертификат в Base64. |
| enrollPermission | True | Значение указывает, что пользователь может выполнять запросы к данному издателю. |
Обработка запроса на выпуск сертификата “RequestSecurityToken”
Заголовок раздела «Обработка запроса на выпуск сертификата “RequestSecurityToken”»eCA-RA при получении запроса на выпуск сертификата “RequestSecurityToken” в случае успешной аутентификации выполняет следующие действия:
-
создаёт от имени пользователя новую заявку на сертификат на основании запроса из поля “BinarySecurityToken” по шаблону, указанному в данном запросе на сертификат.
Для заявок, создаваемых в ходе обработки запроса “RequestSecurityToken”, указан сценарий “WSTEP”.
При создании заявки и последующем выпуске сертификата в eCA-CA атрибуты запроса на сертификат автоматически переопределяются атрибутами субъекта из eCA-CA, требуемыми по шаблону.
Для поля, требуемого по шаблону, используются все имеющиеся у субъекта в соответствующем атрибуте значения.
В случае ошибки создания заявки eCA-RA возвращает сообщение об ошибке с кодом “RequestFailed”;
-
в случае успешного выпуска сертификата по созданной заявке eCA-RA генерирует и отправляет пользователю ответное сообщение “RequestSecurityTokenResponse”, записывая в поле “RequestedSecurityToken” выпущенный по заявке сертификат, а также цепочку данного сертификата в поле “BinarySecurityToken”.
Если после создания заявки сертификат по ней не был успешно выпушен, eCA-RA возвращает сообщение об ошибке с кодом “RequestFailed”.
-
eCA-RA поддерживает перевыпуск сертификатов с новым ключом и с тем же ключом, на котором был выпущен текущий сертификат.
Создание политики регистрации сертификатов
Заголовок раздела «Создание политики регистрации сертификатов»Порядок создания политики регистрации сертификатов в ОС Windows:
-
Запустите оснастку “Сертификаты”.
-
Перейдите в каталог Сертификаты - текущий пользователь > Личное > Сертификаты.
-
Вызовите контекстное меню и выберите Все задачи > Дополнительные операции > Управление политиками регистрации сертификатов.

-
В открывшемся окне “Управление политиками регистрации” нажмите кнопку <Добавить…>.

-
В открывшемся окне “Сервер политики регистрации сертификатов” выполните следующие действия:
-
В соответствующем поле введите URL сервера политик выпуска сертификатов eCA-RA.
-
В списке “Тип проверки подлинности” выберите:
-
“Имя пользователя и пароль” для аутентификации по имени и паролю вашей доменной учётной записи.
-
“Встроенная проверка подлинности Windows” для аутентификации по Kerberos-билету.
-
-
Нажмите кнопку <Проверить сервер>.
При выбранном способе аутентификации по имени и паролю укажите их в соответствующих поля открывшегося окна и нажмите кнопку <ОК>.

- В случае успешной проверки сервера нажмите кнопку <Добавить>.
-
-
В окне “Управление политикам и регистрации” нажмите кнопку <Применить>, а затем <ОК>.
Запрос нового сертификата
Заголовок раздела «Запрос нового сертификата»Порядок запроса сертификата:
-
Запустите оснастку “Сертификаты”.
-
Перейдите в каталог Сертификаты - текущий пользователь > Личное > Сертификаты.
-
Для запроса нового сертификата вызовите контекстное меню каталога “Сертификаты” и выберите Все задачи > Запросить новый сертификат.
-
В открывшемся окне мастера регистрации сертификатов на 1 шаге нажмите кнопку <Далее>.

-
На 2 шаге мастера регистрации сертификатов выберите политику eCA enrollment policy и нажмите кнопку <Далее>.

-
На 3 шаге мастера регистрации сертификатов выберите шаблоны, по которым необходимо выпустить сертификаты, и нажмите кнопку <Заявка>.
-
На последнем шаге мастера регистрации сертификатов убедитесь, что сертификат получен и успешно установлен в хранилище и нажмите кнопку <Готово>.

Перевыпуск сертификатов
Заголовок раздела «Перевыпуск сертификатов»eCA-RA поддерживает перевыпуск сертификатов с новым ключом и с тем же ключом, на котором был выпущен текущий сертификат.
Порядок перевыпуска сертификата:
-
Запустите оснастку “Сертификаты”.
-
Перейдите в каталог Сертификаты - текущий пользователь > Личное > Сертификаты.
-
Для запроса нового сертификата вызовите контекстное меню выбранного сертификата и выберите необходимый сценарий перевыпуска или выпуска нового сертификата:
-
Все задачи > Обновить сертификат с новым ключом.
-
Все задачи > Запросить сертификат с новым ключом.
-
Все задачи > Дополнительные операции > Обновить сертификат с тем же ключом.
-
Все задачи > Дополнительные операции > Запросить новый сертификат с тем же ключом.
-
-
В открывшемся окне мастера регистрации сертификатов на 1 шаге нажмите кнопку <Далее>.

-
На 2 шаге мастера регистрации сертификатов нажмите кнопку <Заявка>.
На последнем шаге мастера регистрации сертификатов убедитесь, что сертификат получен и успешно установлен в хранилище и нажмите кнопку <Готово>.
[1]. Описание протокола MS-XCEP доступно по ссылке: https://winprotocoldoc.z19.web.core.windows.net/MS-XCEP/%5bMS-XCEP%5d.pdf ↑
[2]. Описание протокола MS-WSTEP доступно по ссылке: https://winprotocoldoc.z19.web.core.windows.net/MS-WSTEP/%5bMS-WSTEP%5d.pdf ↑
[3]. Указанное значение обозначает, что шаблон может использоваться при автоматическом запросе и обновлении цифровых сертификатов без ручного вмешательства пользователей. ↑
[4]. Указанное значение обозначает, что от пользователя при создании запроса на сертификат не должно требоваться указание значений для SDN и SAN. ↑
[5]. Данное значение будет записываться в расширения создаваемого на клиенте запроса на сертификат и будет использоваться в рамках реализации функций CES-севера. ↑

