PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC回呼函式 (wincrypt.h)
呼叫PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC回呼函式來解密編碼簽章,並將其與計算哈希進行比較。
語法
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC PfnCryptVerifyEncodedSignatureFunc;
BOOL PfnCryptVerifyEncodedSignatureFunc(
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pPubKeyInfo,
[in] PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
[in, optional] void *pvDecodedSignPara,
[in] LPCWSTR pwszCNGPubKeyAlgid,
[in] LPCWSTR pwszCNGHashAlgid,
[in] BYTE *pbComputedHash,
[in] DWORD cbComputedHash,
[in] BYTE *pbSignature,
[in] DWORD cbSignature
)
{...}
參數
[in] dwCertEncodingType
指定使用的編碼類型。 將憑證和 訊息編碼類型 與位 OR 作業結合在一起,一律可以接受,如下列範例所示:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING目前定義的編碼類型如下:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pPubKeyInfo
包含用來驗證簽章之公鑰的CERT_PUBLIC_KEY_INFO結構位址。 您可以搭配 CryptImportPublicKeyInfoEx2 使用此專案來取得 BCRYPT_KEY_HANDLE。
[in] pSignatureAlgorithm
包含簽章對象標識碼 (OID) 及其選擇性編碼參數之CRYPT_ALGORITHM_IDENTIFIER結構的指標。
[in, optional] pvDecodedSignPara
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC函式先前傳回之已譯碼簽章參數數據結構的選擇性指標。
[in] pwszCNGPubKeyAlgid
包含密碼編譯 API 的 Unicode 字串:新一代 (CNG) 對應至 pSignatureAlgorithm-pszObjId> 的公鑰演算法識別碼。
[in] pwszCNGHashAlgid
Unicode 字串,其中包含對應至 pSignatureAlgorithm-pszObjId> 或 pvDecodedSignPara 中哈希演算法識別碼的 CNG 哈希演算法識別碼。
[in] pbComputedHash
對應至 pwszCNGHashAlgid 之 BCryptFinishHash 函式所傳回之計算哈希位元組的指標。
[in] cbComputedHash
值,表示計算哈希的長度,以位元組為單位。
[in] pbSignature
編碼簽章位元組的指標。
[in] cbSignature
值,表示編碼簽章的長度,以位元組為單位。
傳回值
如果函式成功,函式會傳回非零 (TRUE) 。
如果函式失敗,它會傳回零 (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError。
如果此回呼函式不支援簽章演算法,則必須傳回 FALSE,並使用 ERROR_NOT_SUPPORTED呼叫 SetLastError。
備註
您可以使用 OID 支援函式 來部署此回呼函式。 Wincrypt.h 會為此目的定義下列常數。
常數 | 定義 |
---|---|
CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC | “CryptDllVerifyEncodedSignature” |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |