enrollPKCS7
В примере enrollPKCS7 создается запрос PKCS #7 из существующего сертификата путем наследования открытых и закрытых ключей и шаблона сертификата. Существующий сертификат используется для подписи запроса. В этом примере пользователь регистрируется в иерархии сертификатов и устанавливается ответ сертификата. В примере используется существующий сертификат для регистрации и установки нового сертификата. Дополнительные сведения о продлении существующего сертификата см. в разделе enrollRenewalPKCS7.
Расположение
При установке пакета SDK microsoft Windows пример по умолчанию устанавливается в папку %ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\enrollPKCS7.
Обсуждение
Пример enrollPKCS7:
- Обрабатывает аргументы командной строки. Командная строка должна содержать имя шаблона сертификата, используемого для поиска существующего сертификата.
- Извлекает существующий сертификат, используя имя шаблона, указанного в командной строке, или, если сертификат не найден, пытается зарегистрировать новый сертификат, созданный с помощью шаблона. Функции findCertByTemplate и enrollCertByTemplate определяются в enrollCommon.cpp.
- Проверяет цепочку сертификатов и преобразует сертификат в BSTR.
- Создает объект IX509CertificateRequestPkcs7 и инициализирует его с помощью существующего сертификата. Новый объект запроса PKCS #7 наследует закрытый и открытый ключи и шаблон от существующего сертификата.
- Создает объект ISignerCertificate , инициализирует его с помощью существующего сертификата и добавляет в объект запроса PKCS #7.
- Создает объект IX509Enrollment , инициализирует его с помощью объекта запроса PKCS #7, пытается зарегистрировать его в ЦС и отслеживает состояние процесса регистрации. Функция checkEnrollStatus определена в enrollCommon.cpp.
Связанные темы