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

指定使用的編碼類型。 將憑證和 訊息編碼類型 與位 OR 作業結合在一起,一律可以接受,如下列範例所示:

X509_ASN_ENCODING |PKCS_7_ASN_ENCODING

目前定義的編碼類型如下:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pSignerId

包含簽發者和序號 之CERT_INFO 結構的指標。 如果沒有內容或簽署者,可以是 NULL

[in] hMsgCertStore

證書存儲的句柄,其中包含已簽署訊息中的所有憑證和CRL。

傳回值

如果找到簽署者憑證,函式會傳回只讀 CERT_CONTEXT的指標。 傳回 的CERT_CONTEXT 是從證書存儲取得,或使用 CertCreateCertificateContext 建立。 不論是哪一種情況,都必須使用 CertFreeCertificateContext 釋放它。 如果此函式失敗,則傳回值為 NULL

備註

如果訊息不包含內容或簽署者,則會呼叫函式,並將 pSignerId 設定為 NULL

規格需求

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