Fonction CryptVerifyDetachedMessageSignature (wincrypt.h)
La fonction CryptVerifyDetachedMessageSignature vérifie un message signé contenant une ou plusieurs signatures détachées.
Syntaxe
BOOL CryptVerifyDetachedMessageSignature(
[in] PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
[in] DWORD dwSignerIndex,
[in] const BYTE *pbDetachedSignBlob,
[in] DWORD cbDetachedSignBlob,
[in] DWORD cToBeSigned,
[in] const BYTE * [] rgpbToBeSigned,
[in] DWORD [] rgcbToBeSigned,
[out, optional] PCCERT_CONTEXT *ppSignerCert
);
Paramètres
[in] pVerifyPara
Pointeur vers une structure CRYPT_VERIFY_MESSAGE_PARA contenant les paramètres de vérification.
[in] dwSignerIndex
Index de la signature à vérifier. Un message peut avoir plusieurs signataires et cette fonction peut être appelée à plusieurs reprises, en modifiant dwSignerIndex pour vérifier d’autres signatures. Si la fonction retourne FALSE et que GetLastError retourne CRYPT_E_NO_SIGNER, l’appel précédent a reçu le dernier signataire du message.
[in] pbDetachedSignBlob
Pointeur vers un objet BLOB contenant les signatures de message encodées.
[in] cbDetachedSignBlob
Taille, en octets, de la signature détachée.
[in] cToBeSigned
Nombre d’éléments de tableau dans rgpbToBeSigned et rgcbToBeSigned.
[in] rgpbToBeSigned
Tableau de pointeurs vers des mémoires tampons contenant le contenu à hacher.
[in] rgcbToBeSigned
Tableau de tailles, en octets, pour les mémoires tampons de contenu pointées dans rgpbToBeSigned.
[out, optional] ppSignerCert
Pointeur vers un pointeur vers une structure CERT_CONTEXT d’un certificat de signataire. Lorsque vous avez terminé d’utiliser le contexte de certificat, libérez-le en appelant la fonction CertFreeCertificateContext . Un pointeur vers une structure CERT_CONTEXT n’est pas retourné si ce paramètre a la valeur NULL.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro (TRUE).
Si la fonction échoue, la valeur de retour est zéro (FALSE).
Pour obtenir des informations d’erreur étendues, appelez GetLastError.
La liste suivante répertorie les codes d’erreur les plus couramment retournés par la fonction GetLastError .
Code de retour | Description |
---|---|
|
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. |
Si la fonction échoue, GetLastError peut renvoyer une erreur d’encodage/décodage ASN.1 ( Abstract Syntax Notation One ). Pour plus d’informations sur ces erreurs, consultez Valeurs de retour d’encodage/décodage ASN.1.
Configuration requise
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 |