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


enrollCommon

Папка enrollCommon содержит следующие вспомогательные функции и макросы, используемые в примерах, предоставляемых с пакетом SDK для регистрации сертификатов. Он устанавливается по умолчанию в папке %ProgramFiles%\Microsoft SDK\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\enrollCommon.

Функция Описание
_JumpIfError Макрос, принимаюющий значение HRESULT , метку и строку ошибки, выводит строку и передает управление программой первому оператору после метки.
_JumpError То же, что и макрос _JumpIfError.
_PrintIfError В настоящий момент не используется.
_PrintError Макрос, который выводит сообщение об ошибке и значение HRESULT .
convertWszToSz Преобразует строку расширенных символов в строку символов ASCII с помощью функции WideCharToMultiByte и текущего идентификатора кодовой страницы ANSI для системы. Эта функция используется функциями decConvertFromUnicode и findOIDFromTemplateName, определенными в файле enrollCommon.cpp.
convertSzToWsz Преобразует строку ASCII в строку с расширенными символами с помощью функции MultiByteToWideChar и текущего идентификатора кодовой страницы ANSI для системы. Эта функция используется функцией findCertByTemplate, определенной в файле enrollCommon.cpp.
convertSzToBstr Преобразует строку ASCII в BSTR с помощью функции MultiByteToWideChar . В настоящее время эта функция не используется.
convertWszToBstr Преобразует строку расширенных символов в BSTR. Эта функция используется в примере installResponseFromPFX.
checkEnrollStatus Проверяет состояние процесса регистрации сертификата с помощью интерфейсов IX509Enrollment и IX509EnrollmentStatus . Эта функция используется в примерах enrollEOBOCMC, enrollPKCS7, enrollRenewalPKCS7, enrollSimpleMachineCert и enrollSimpleUserCert.
findCertByKeyUsage Перечисляет личное хранилище сертификатов текущего пользователя, чтобы найти первый сертификат, для которого предполагаемое использование открытого ключа соответствует указанному значению. Указанное значение может быть побитовой комбинацией следующих флагов:
  • CERT_DATA_ENCIPHERMENT_KEY_USAGE
  • CERT_DIGITAL_SIGNATURE_KEY_USAGE
  • CERT_KEY_AGREEMENT_KEY_USAGE
  • CERT_KEY_CERT_SIGN_KEY_USAGE
  • CERT_KEY_ENCIPHERMENT_KEY_USAGE
  • CERT_NON_REPUDIATION_KEY_USAGE
  • CERT_OFFLINE_CRL_SIGN_KEY_USAGE
Эта функция используется в примере enrollFromPublicKey.
findCertByEKU Перечисляет личное хранилище сертификатов текущего пользователя, чтобы найти первый сертификат, для которого расширение расширенного использования ключа (EKU) соответствует указанному во входных данных. Дополнительные сведения о расширении EKU см. в интерфейсе IX509ExtensionEnhancedKeyUsage . Эта функция используется в примере enrollEOBOCMC.
findCertByTemplate Перечисляет личное хранилище сертификатов текущего пользователя, чтобы найти первый сертификат, для которого шаблон соответствует указанному по имени во входных данных. Эта функция используется в примерах enrollPKCS7 и enrollRenewalPKCS7.
enrollCertByTemplate Инициализирует объект IX509Enrollment с помощью шаблона, пытается зарегистрировать неявно созданный запрос на сертификат и отслеживает состояние процесса регистрации. Эта функция используется в примерах enrollEOBOCMC, enrollFromPublicKey, enrollPKCS7 и enrollRenewalPKCS7.
verifyCertContext Проверяет соответствие цепочки сертификатов указанной (базовой) политике и, при необходимости, указанному расширению расширенного использования ключей (EKU). Дополнительные сведения см. в статье о функции CertVerifyCertificateChainPolicy и структурах CERT_CHAIN_POLICY_PARA и CERT_CHAIN_PARA . Эта функция используется в примерах enrollEOBOCMC, enrollFromPublicKey, enrollPKCS7 и enrollRenewalPKCS7.
decConvertFromUnicode Преобразует строку двухбайтовых символов Юникода в строку однобайтовых символов ANSI. Эта функция используется функцией DecodeFileW, определенной в файле enrollCommon.cpp.
DecodeFileW Декодирует закодированный файл сертификата или запроса сертификата в массив байтов. Эта функция используется в примере installResponseFromPFX.
EncodeToFileW Кодирует сертификат или запрос сертификата и сохраняет его в файл. Эта функция используется в примерах createCNGCustomCMC, enrollEOBOCMC и enrollFromPublicKey.
findOIDFromTemplateName Извлекает идентификатор объекта для шаблона, указанного по имени. Эта функция используется функцией findCertByTemplate, определенной в файле enrollCommon.cpp.

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