openssl_verify

(PHP 4 >= 4.0.4, PHP 5)

openssl_verify -- Vérifie une signature

Description

int openssl_verify ( string data, string signature, mixed pub_key_id )

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

openssl_verify() retourne 1 si la signature est correcte, 0 si elle est incorrecte et -1 en cas d'erreur.

openssl_verify() vérifie que la signature signature est correcte pour les données data, et avec la clé publique pub_key_id. Cette clé doit être la clé publique correspondant à la clé privée utilisée lors de la signature.

Exemple 1. Exemple avec openssl_verify()

<?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);
?>

Voir aussi openssl_sign().