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


enrollCustomCMC

Пример enrollCustomCMC создает запрос сертификата CMC и регистрирует компьютер в иерархии сертификатов.

Расположение

При установке пакета sdk для Microsoft Windows пример по умолчанию устанавливается в папку %ProgramFiles%\Microsoft SDK\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\enrollCustomCMC.

Обсуждение

Пример enrollCustomCMC:

  1. Обрабатывает следующие аргументы командной строки:
    • Настраиваемая пара "имя-значение", добавляемая в запрос сертификата.
    • Альтернативное имя субъекта.
    • Идентификатор объекта (OID) для расширения расширенного использования ключа (EKU).
  2. Создает объект запроса IX509CertificateRequestPkcs10 и инициализирует его с помощью контекста компьютера.
  3. Использует запрос PKCS #10 для инициализации объекта IX509CertificateRequestCmc .
  4. Создает объект IX509ExtensionEnhancedKeyUsage с помощью идентификатора OID, указанного в командной строке, и добавляет его в коллекцию расширений для запроса CMC.
  5. Создает объект IAlternativeName , используя имя, указанное в командной строке, добавляет его в коллекцию IAlternativeNames , использует коллекцию для инициализации расширения IX509ExtensionAlternativeNames и добавляет его в коллекцию расширений для запроса CMC.
  6. Создает объект IX509NameValuePair , используя имя и значение, указанные в командной строке, и добавляет его в коллекцию IX509NameValuePairs в запросе CMC.
  7. Создает объект IX509Enrollment , инициализирует его с помощью объекта запроса CMC и извлекает строку, содержащую запрос в кодировке Base64.
  8. Создает объект ICertConfig и использует его для получения строки, содержащей конфигурацию ЦС.
  9. Создает объект ICertRequest2 CryptoAPI и использует его, а также строки, содержащие конфигурацию ЦС и запрос сертификата для отправки запроса в ЦС.
  10. Проверяет состояние отправки и в случае успеха устанавливает сертификат в хранилище сертификатов.

Запрос CMC

Запрос PKCS #10

Использование включенных примеров