Fonction CryptVerifyMessageSignatureWithKey (wincrypt.h)
La fonction CryptVerifyMessageSignatureWithKey vérifie la signature d’un message signé à l’aide des informations de clé publique spécifiées.
Syntaxe
BOOL CryptVerifyMessageSignatureWithKey(
[in] PCRYPT_KEY_VERIFY_MESSAGE_PARA pVerifyPara,
[in] PCERT_PUBLIC_KEY_INFO pPublicKeyInfo,
[in] const BYTE *pbSignedBlob,
[in] DWORD cbSignedBlob,
[out] BYTE *pbDecoded,
[in, out] DWORD *pcbDecoded
);
Paramètres
[in] pVerifyPara
Pointeur vers une structure de CRYPT_KEY_VERIFY_MESSAGE_PARA qui contient des paramètres de vérification.
[in] pPublicKeyInfo
Pointeur vers une structure CERT_PUBLIC_KEY_INFO qui contient la clé publique utilisée pour vérifier le message signé. Si la valeur est NULL, la signature n’est pas vérifiée.
[in] pbSignedBlob
Pointeur vers une mémoire tampon qui contient le message signé.
[in] cbSignedBlob
Taille, en octets, de la mémoire tampon de messages signés.
[out] pbDecoded
Pointeur vers une mémoire tampon pour recevoir le message décodé.
Ce paramètre peut être NULL si le message décodé n’est pas nécessaire pour un traitement supplémentaire ou pour définir la taille du message à des fins d’allocation de mémoire. Pour plus d’informations, consultez Récupération de données de longueur inconnue.
[in, out] pcbDecoded
Pointeur vers une valeur DWORD qui spécifie la taille, en octets, de la mémoire tampon pbDecoded . Lorsque la fonction retourne, ce DWORD contient la taille, en octets, du message décodé. Le message décodé ne sera pas retourné si ce paramètre a la valeur NULL.
Valeur retournée
Si la fonction réussit, la fonction retourne une valeur différente de zéro.
Si la fonction échoue, elle retourne zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Le tableau suivant présente les codes d’erreur les plus couramment retournés par la fonction GetLastError .
Code de retour | Description |
---|---|
|
Si la mémoire tampon spécifiée par le paramètre pbDecoded n’est pas suffisamment grande pour contenir les données retournées, la fonction définit le code ERROR_MORE_DATA et stocke la taille de mémoire tampon requise, en octets, dans la variable pointée par pcbDecoded. |
|
Types d’encodage de message et de certificat non valides. Actuellement, seuls les PKCS_7_ASN_ENCODING et les X509_ASN_ENCODING_TYPE sont pris en charge. CbSize non valide dans *pVerifyPara. |
|
Pas un message de chiffrement signé. |
|
Le message n’a pas de signataires ni de signataire pour le dwSignerIndex spécifié. |
|
Le message a été haché et signé à l’aide d’un algorithme inconnu ou non pris en charge. |
|
La signature du message n’a pas été vérifiée. |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincrypt.h |
Bibliothèque | Crypt32.lib |
DLL | Crypt32.dll |