PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC Rückruffunktion (wincrypt.h)
Die PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC Rückruffunktion wird aufgerufen, um eine codierte Signatur zu entschlüsseln und mit einem berechneten Hash zu vergleichen.
Syntax
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
)
{...}
Parameter
[in] dwCertEncodingType
Gibt den verwendeten Codierungstyp an. Es ist immer akzeptabel, sowohl den Zertifikat- als auch den Nachrichtencodierungstyp anzugeben, indem sie mit einem bitweisen OR-Vorgang kombiniert werden, wie im folgenden Beispiel gezeigt:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING Derzeit definierte Codierungstypen sind:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pPubKeyInfo
Die Adresse einer CERT_PUBLIC_KEY_INFO Struktur, die den öffentlichen Schlüssel enthält, der zum Überprüfen der Signatur verwendet werden soll. Sie können dies mit CryptImportPublicKeyInfoEx2 verwenden, um eine BCRYPT_KEY_HANDLE zu erhalten.
[in] pSignatureAlgorithm
Ein Zeiger auf eine CRYPT_ALGORITHM_IDENTIFIER-Struktur , die den Signaturobjektbezeichner (OID) und seine optionalen codierten Parameter enthält.
[in, optional] pvDecodedSignPara
Ein optionaler Zeiger auf die datenstruktur mit decodierten Signaturparametern, die zuvor von der funktion PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC zurückgegeben wurde.
[in] pwszCNGPubKeyAlgid
Eine Unicode-Zeichenfolge, die den Public Key-Algorithmusbezeichner cryptography API: Next Generation (CNG) enthält, der pSignatureAlgorithm-pszObjId> entspricht.
[in] pwszCNGHashAlgid
Eine Unicode-Zeichenfolge, die den Bezeichner des CNG-Hashingalgorithmus enthält, der pSignatureAlgorithm-pszObjId> oder einem Hashalgorithmusbezeichner in pvDecodedSignPara entspricht.
[in] pbComputedHash
Ein Zeiger auf die berechneten Hashbytes, die von der BCryptFinishHash-Funktion zurückgegeben werden und pwszCNGHashAlgid entsprechen.
[in] cbComputedHash
Ein -Wert, der die Länge des berechneten Hashs in Bytes darstellt.
[in] pbSignature
Ein Zeiger auf die codierten Signaturbytes.
[in] cbSignature
Ein -Wert, der die Länge der codierten Signatur in Bytes darstellt.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ungleich null (TRUE) zurück.
Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Wenn diese Rückruffunktion den Signaturalgorithmus nicht unterstützt, muss sie FALSE zurückgeben und SetLastError mit ERROR_NOT_SUPPORTED aufrufen.
Hinweise
Sie können OID-Unterstützungsfunktionen verwenden, um diese Rückruffunktion bereitzustellen. Wincrypt.h definiert zu diesem Zweck die folgende Konstante.
Dauerhaft | Definition |
---|---|
CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC | "CryptDllVerifyEncodedSignature" |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |