Enroll on behalf of і шаблони версії 2 і 3 - pki extensions

Contents of this directory is archived and no longer updated.

Для вирішення цього завдання Windows CA (будь то Standalone або Enterprise CA і CA може працювати під управлінням будь-якої версії Windows Server) пропонує можливість реалізації даного завдання через використання Enroll On Behalf Of (EOBO). Суть методу полягає в тому, що такий агент отримує для себе спеціальний сертифікат на основі шаблону Enrollment Agent (або будь-якого іншого шаблону), який відповідає двом вимогам:

  1. в Request Handling тип використання ключа містить Signature;
  2. в Application Policies (в минулому Extended Key Usage або просто EKU) виставлено Certificate Request Agent.

Після цього цей агент може запитувати сертифікати для інших користувачів. Для цього агент запускає оснащення certmgr.msc. в ній переходить на Personal -> Certificates -> Action -> All Tasks -> Advanced Operations -> Enroll On Behalf Of ... і починає процес подачі заявки на сертифікат. У другому вікні майстра агенту потрібно вказати свій сертифікат Enrollment Agent. Цей крок необхідний для того, щоб довести, що агент є Enrollment Agent'ом і цей сертифікат буде використовуватися для підписування запиту сертифіката. У вікні вибору шаблонів ви швидше за все побачите тільки доступні шаблони версії 1:

Enroll on behalf of і шаблони версії 2 і 3 - pki extensions

У мене є кілька шаблонів версії 2, але запитувати для них сертифікати я не можу. Повідомлення відмови в запиті таких сертифікатів дуже каламутне і не дуже зрозуміле. Оскільки шаблони версії 1 не можуть бути змінені, вони штатно підтримують режим EOBO. А шаблони версії 2 і 3 слід настроїти окремо. Для цього вам потрібно відкрити властивості шаблону, перейти на вкладку Issuance Requirements і відредагувати його так, щоб він виглядав як на зображенні:

Enroll on behalf of і шаблони версії 2 і 3 - pki extensions

Тобто ви повинні вказати, що запит повинен бути підписаний сертифікатом, Application Policies якого містить Certifcate Request Agent.

Щоб розділити шаблони між агентами ви можете їх налаштувати ось так:

Enroll on behalf of і шаблони версії 2 і 3 - pki extensions

Ми тепер вимагаємо, щоб сертифікат агента подачі заявок не тільки містив певний Application Policy. але і Issuance Policy теж. Це означає, що агент подачі заявок, який зберігає свій сертифікат в профілі не матиме можливості запитувати сертифікати такого шаблону. Ось вам ще один сценарій використання OID'ов. Це на випадок, щоб ви не думали, що це якась міфічна нікому не потрібна фігня.

Власне, після цього налаштування шаблонів версії 2 і 3 ви можете їх використовувати в EOBO:

Enroll on behalf of і шаблони версії 2 і 3 - pki extensions

Крім цього, ви можете ще більше точно окреслити можливості агентів відновлення:

Enroll on behalf of і шаблони версії 2 і 3 - pki extensions

Даний матеріал не претендує на статус ТЗ (Таємне Знання), але дає величезну поживу для роздумів адміністраторам середніх і великих компаній на предмет того, як можна розширити можливості використання PKI і створити більш чіткий поділ обов'язків агентів подачі заявок (Enrollment Agent) при використанні функції Enroll On Behalf Of (EOBO). Як ви бачите, Windows PKI навіть з коробки дозволяє досить просто масштабувати і керувати вашої інфраструктурою PKI. А так же ми майоріли міф про те, що інфраструктурою PKI може рулити студент-ПТУшнік (петушатнік?), Який піднімає CA на коліні в метро.