функция обратного вызова PFN_CRYPT_GET_SIGNER_CERTIFICATE (wincrypt.h)

Предоставленная пользователем функция обратного вызова CryptGetSignerCertificateCallback используется со структурой CRYPT_VERIFY_MESSAGE_PARA для получения и проверки сертификата подписывающего сообщения.

Синтаксис

PFN_CRYPT_GET_SIGNER_CERTIFICATE PfnCryptGetSignerCertificate;

PCCERT_CONTEXT PfnCryptGetSignerCertificate(
  [in] void *pvGetArg,
  [in] DWORD dwCertEncodingType,
  [in] PCERT_INFO pSignerId,
  [in] HCERTSTORE hMsgCertStore
)
{...}

Параметры

[in] pvGetArg

Указатель на определяемые пользователем данные, передаваемые в функцию проверки, как указано в структуре CRYPT_VERIFY_MESSAGE_PARA .

[in] dwCertEncodingType

Указывает тип используемой кодировки. Всегда допустимо указывать типы кодирования сертификатов и сообщений, объединяя их с побитовой операцией ИЛИ , как показано в следующем примере:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

В настоящее время определены следующие типы кодирования:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pSignerId

Указатель на структуру CERT_INFO , содержащую издателя и серийный номер. Может иметь значение NULL , если нет содержимого или подписывающего.

[in] hMsgCertStore

Дескриптор хранилища сертификатов, содержащий все сертификаты и списки отзыва сертификатов в подписанном сообщении.

Возвращаемое значение

Если сертификат подписыватель найден, функция возвращает указатель на CERT_CONTEXT только для чтения. Возвращенная CERT_CONTEXT была получена из хранилища сертификатов или создана с помощью CertCreateCertificateContext. В любом случае его необходимо освободить с помощью CertFreeCertificateContext. Если эта функция завершается сбоем, возвращается значение NULL.

Комментарии

Если сообщение не содержит содержимого или подписывающего, функция вызывается с параметром pSignerId со значениемNULL.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header wincrypt.h