структура CRYPT_VERIFY_MESSAGE_PARA (wincrypt.h)
Структура CRYPT_VERIFY_MESSAGE_PARA содержит сведения, необходимые для проверки подписанных сообщений.
Синтаксис
typedef struct _CRYPT_VERIFY_MESSAGE_PARA {
DWORD cbSize;
DWORD dwMsgAndCertEncodingType;
HCRYPTPROV_LEGACY hCryptProv;
PFN_CRYPT_GET_SIGNER_CERTIFICATE pfnGetSignerCertificate;
void *pvGetArg;
PCCERT_STRONG_SIGN_PARA pStrongSignPara;
} CRYPT_VERIFY_MESSAGE_PARA, *PCRYPT_VERIFY_MESSAGE_PARA;
Члены
cbSize
Размер этой структуры в байтах.
dwMsgAndCertEncodingType
Тип используемой кодировки. Всегда допустимо указывать типы кодирования сертификатов и сообщений, объединяя их с побитовой операцией ИЛИ , как показано в следующем примере:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
В настоящее время определены следующие типы кодирования:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
hCryptProv
Этот элемент не используется и должен иметь значение NULL.
Windows Server 2003 и Windows XP: Дескриптор поставщика служб шифрования , используемый для проверки подписанного сообщения. Поставщик служб CSP, определенный этим дескриптором, используется для хэширования и проверки подписи. Если нет веской причины для использования определенного поставщика шифрования, установите значение 0, чтобы использовать поставщик RSA или DSS по умолчанию.
Тип данных этого элемента — HCRYPTPROV.
pfnGetSignerCertificate
Указатель на функцию обратного вызова, используемую для получения контекста сертификата подписывателя. Если значение NULL, используется обратный вызов по умолчанию. Обратный вызов по умолчанию пытается получить контекст сертификата подписывателя из хранилища сертификатов сообщения.
Вместо функции обратного вызова, определенной приложением, которая получает сертификат подписывателя, можно использовать вместо функции обратного вызова по умолчанию. Он передает идентификатор сертификата подписывателя (его издателя и серийный номер) и дескриптор в хранилище сертификатов криптографического подписанного сообщения.
Сигнатура и аргументы функций обратного вызова см. в разделе CryptGetSignerCertificateCallback .
pvGetArg
Аргумент для передачи функции обратного вызова. Как правило, он получает и проверяет сертификат подписывателя сообщения.
pStrongSignPara
Необязательный указатель на структуру CERT_STRONG_SIGN_PARA , содержащую параметры, используемые для строгого подписывания. Если этот элемент задан и функция успешно проверяет сигнатуру, функция будет проверка для строгой сигнатуры. Если сигнатура не является строгой, операция завершится ошибкой и присвойте для параметра GetLastErrorзначение NTE_BAD_ALGID.
Комментарии
Эта структура передается в следующие функции:
- CryptDecodeMessage
- CryptDecryptAndVerifyMessageSignature
- CryptVerifyDetachedMessageSignature
- CryptVerifyMessageSignature
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | wincrypt.h |
См. также раздел
CryptDecryptAndVerifyMessageSignature