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


enrollPKCS7

В примере enrollPKCS7 создается запрос PKCS #7 из существующего сертификата путем наследования открытых и закрытых ключей и шаблона сертификата. Существующий сертификат используется для подписи запроса. В этом примере пользователь регистрируется в иерархии сертификатов и устанавливается ответ сертификата. В примере используется существующий сертификат для регистрации и установки нового сертификата. Дополнительные сведения о продлении существующего сертификата см. в разделе enrollRenewalPKCS7.

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

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

Обсуждение

Пример enrollPKCS7:

  1. Обрабатывает аргументы командной строки. Командная строка должна содержать имя шаблона сертификата, используемого для поиска существующего сертификата.
  2. Извлекает существующий сертификат, используя имя шаблона, указанного в командной строке, или, если сертификат не найден, пытается зарегистрировать новый сертификат, созданный с помощью шаблона. Функции findCertByTemplate и enrollCertByTemplate определяются в enrollCommon.cpp.
  3. Проверяет цепочку сертификатов и преобразует сертификат в BSTR.
  4. Создает объект IX509CertificateRequestPkcs7 и инициализирует его с помощью существующего сертификата. Новый объект запроса PKCS #7 наследует закрытый и открытый ключи и шаблон от существующего сертификата.
  5. Создает объект ISignerCertificate , инициализирует его с помощью существующего сертификата и добавляет в объект запроса PKCS #7.
  6. Создает объект IX509Enrollment , инициализирует его с помощью объекта запроса PKCS #7, пытается зарегистрировать его в ЦС и отслеживает состояние процесса регистрации. Функция checkEnrollStatus определена в enrollCommon.cpp.

Запрос CMC

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