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
使用的编码类型。 始终可以接受将证书和 消息编码类型 与按位 OR 操作组合在一起,如以下示例所示:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING
当前定义的编码类型包括:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
hCryptProv
此成员未使用,应设置为 NULL。
Windows Server 2003 和 Windows XP: 用于验证已签名消息的 加密服务提供程序 的句柄。 此句柄标识的 CSP 用于 哈希 和签名验证。除非有使用特定加密提供程序的强烈原因,否则将 设置为零以使用默认 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