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


enrollRenewalPKCS7

В примере enrollRenewalPKCS7 создается объект запроса PKCS 7 для продления существующего сертификата. Объект запроса использует новую пару ключей, но сохраняет поставщик шифрования, связанный с обновляемого сертификата.

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

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

Обсуждение

Пример enrollRenewalPKCS7:

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

Запрос CMC

Запрос на продление PKCS #7

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