функция обратного вызова 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 |