openssl_verify retourne 1 si la signature est
correcte, 0 si la signature est incorrecte, et -1 en cas d'erreur.
openssl_verify vérifie que la signature
signature est correcte pour les données
data, et avecd la clé publique
pub_key_id. Cette clé doit être la clé
publique correspondant à la clé privée
utilisée lors de la signature.
<?php // On suppose que $data et $signature contiennent les données à signer et // la signature // lecture de la clé publique depuis le certificat $fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r"); $cert = fread($fp, 8192); fclose($fp); $pubkeyid = openssl_get_publickey($cert); // indique si la signature est correcte $ok = openssl_verify($data, $signature, $pubkeyid); if ($ok == 1) echo "Signature valide"; elseif ($ok == 0) echo "Signature erronée"; else echo "Erreur de vérification de la signature"; // libère les clés de la mémoire openssl_free_key($pubkeyid); ?>