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


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.
ДекодированиеFileW Декодирует кодированный файл сертификата или запроса сертификата в массив байтов. Эта функция используется примером installResponseFromPFX.
EncodeToFileW Кодирует сертификат или запрос сертификата и сохраняет его в файл. Эта функция используется примерами createCNGCustomCMC, enrollEOBOCMC и enrollFromPublicKey.
findOIDFromTemplateName Извлекает идентификатор объекта для шаблона, указанного по имени. Эта функция используется функцией findCertByTemplate, определенной в enrollCommon.cpp.

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