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

注意只有在使用 #define 指示詞定義CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS,才能使用 pStrongSignPara 成員,再包含 Wincrypt.h。 如果 已定義CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS ,您必須零所有未使用的欄位。
 
Windows 8 和 Windows Server 2012:開始支援此成員。

備註

此結構會傳遞至下列函式:

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 wincrypt.h

另請參閱

CERT_CONTEXT

CERT_INFO

CryptDecryptAndVerifyMessageSignature

CryptVerifyDetachedMessageSignature

CryptVerifyMessageSignature