Посредники

Посредники взаимодействуют с клиентскими приложениями, чтобы разрешить им отправлять запросы на сертификаты, и (при условии, что запрос приводит к выданному сертификату) для скачивания выданного сертификата клиенту. Для каждого протокола транспортного уровня требуется собственный посредник.

Службы сертификатов Майкрософт поставляемы с посредником (страницы веб-регистрации) для HTTP. Еще одним примером посредника является оснастка MMC сертификатов Microsoft Windows (которая позволяет вызывать мастер запросов сертификатов). Если другие протоколы транспортного уровня используются со службами сертификатов, разработчик может создать посредник для каждого требуемого протокола транспортного уровня.

Посредники взаимодействуют со службами сертификатов с помощью интерфейсов ICertRequest и ICertConfig , предоставляемых подсистемой сервера. Метод ICertRequest::Submit используется для отправки запроса сертификата, а для получения полученного сертификата используется метод ICertRequest::GetCertificate . Аналогичным образом , ICertConfig::GetConfig используется для определения того, какой центр сертификации можно использовать для выдачи сертификата.

Посредник не зависит от языка. Это может быть программа, написанная на C++, Visual Basic, Java, скрипте или другом языке.

Помимо сбора данных от клиента для создания запроса сертификата посредник может указать атрибуты запроса. Запросы, отправленные в центр сертификации , на котором выполняется модуль корпоративной политики, должны указывать тип сертификата, запрашиваемого путем указания атрибута CertificateTemplate или расширения шаблона сертификата в самом запросе.

Обратите внимание, что во время создания запроса на сертификат разработчики (и посредники) отвечают за сохранение секретности закрытого ключа. После того, как закрытый ключ был скомпрометирован (потерял секретность), он бесполезен.

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

Оснастка MMC "Сертификаты" также использует элемент управления регистрацией сертификатов (Xenroll.dll). Однако при необходимости страницы веб-регистрации служб сертификатов приводят к загрузке ресурса управления регистрацией сертификатов (Xenroll.dll) на клиент, оснастка MMC "Сертификаты" выполняется в среде, где Xenroll.dll уже является доступным ресурсом.

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