CryptVerifySignature

Vérifie la validité de la signature numérique des données.

Format 

CryptVerifySignature ( données ; algorithme ; cléRSAPublique ; signature )

Paramètres 

données : toute expression de type texte qui représente les données à vérifier par rapport à la signature.

algorithme : nom de l'algorithme cryptographique à utiliser (consultez la section fonction CryptAuthCode).

cléRSAPublique : texte qui représente la clé RSA publique PKCS #1 au format PEM correspondant à la clé privée utilisée pour générer la signature.

signature : signature RSA binaire à vérifier par rapport aux données, comme la valeur renvoyée par la fonction CryptGenerateSignature.

Résultat 

Nombre

Provient de la version 

18.0

Description 

Pour vérifier une signature, cette fonction compare le résumé du message de données (à l'aide de l'algorithme spécifié) avec le résumé obtenu en décryptant la signature à l'aide de la cléRSAPublique.

Une clé RSA publique doit être au format suivant :

Copier
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqqDiwrPQwVaJzOzfFVBd
...
egkXva5cYBb8PNifmlPXVb8CAwEAAQ==
-----END PUBLIC KEY-----

Si la signature est valide pour les données, cette fonction renvoie 1 (vrai) ; si ce n'est pas le cas, elle renvoie 0 (faux). Si l'un des paramètres n'est pas valide, elle renvoie « ? ».

Exemple 1 

Utilise l'algorithme SHA-512 pour générer le résumé de la rubrique Texte table::texteSigné. Décode au format Base64 la signature stockée dans la rubrique Texte table::signature et la renvoie sous forme de données de conteneur. Décrypte la signature à l'aide de la valeur de la rubrique Texte table::cléRSAPublique et compare le résumé de la signature avec le résumé de la rubrique Texte table::texteSigné. Si la signature est valide, renvoie 1.

Copier
CryptVerifySignature ( 
    table::texteSigné ; "SHA512" ; table::cléRSAPublique ;     
    Base64Decode ( 
        table::signature ; "sig.données" 
    ) 
)