enrollEOBOCMC
Пример enrollEOBOCMC создает запрос сертификата CMC от имени другого пользователя и регистрирует пользователя в иерархии сертификатов. Для регистрации от имени другого пользователя требуется, чтобы запрос на сертификат был подписан с помощью сертификата агента регистрации.
Расположение
При установке пакета SDK microsoft Windows пример по умолчанию устанавливается в папку %ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\enrollEOBOCMC.
Обсуждение
Пример enrollEOBOCMC:
- Обрабатывает следующие аргументы командной строки:
- Имя шаблона сертификата.
- Имя пользователя, запрашивающего сертификат.
- Имя файла обмена личной информацией (PFX), в котором будет сохранен запрос.
- Пароль для использования с PFX-файлом.
- Необязательное имя шаблона агента регистрации. Шаблон используется для создания сертификата агента регистрации, если его нет в хранилище сертификатов.
- Создает объект IX509CertificateRequestCmc и инициализирует его с помощью шаблона сертификата, указанного в командной строке.
- Добавляет имя инициатора запроса в объект запроса CMC.
- Извлекает существующий сертификат агента регистрации или, если его не удается найти, создает запрос на сертификат из шаблона агента регистрации, указанного в командной строке, и пытается зарегистрировать его.
- Проверяет цепочку сертификатов, содержащую сертификат агента регистрации.
- Создает объект ISignerCertificate , инициализирует его с помощью сертификата агента регистрации, извлекает коллекцию ISignerCertificates из объекта запроса CMC и добавляет объект сертификата подписи агента регистрации в коллекцию. Объект IX509Enrollment , рассматриваемый на следующем шаге, использует сертификат для подписания запроса CMC.
- Создает объект IX509Enrollment , инициализирует его с помощью запроса CMC, пытается зарегистрировать его и проверяет ход процесса регистрации.
- Экспортирует установленный сертификат в PFX-файл. Файл защищен с помощью пароля, указанного в командной строке. Функция EncodeToFileW определена в enrollCommon.cpp.
- Удаляет сертификат из хранилища сертификатов. Функции, используемые в следующем примере кода, можно найти в документации CryptoAPI.
- Удаляет закрытый ключ с компьютера.
Связанные темы