Fonctions OpenSSL
PHP Manual

openssl_verify

(PHP 4 >= 4.0.4, PHP 5)

openssl_verifyVérifie une signature

Description

int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, int $signature_alg = OPENSSL_ALGO_SHA1 ] )

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.

Liste de paramètres

data

signature

pub_key_id

signature_alg

Pour plus d'informations, reportez-vous à la liste des algorithmes de signature.

Valeurs de retour

Retourne 1 si la signature est correcte, 0 si elle est incorrecte et -1 si une erreur survient.

Historique

Version Description
5.2.0 Ajout du paramètre signature_alg.

Exemples

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($fp8192);
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


Fonctions OpenSSL
PHP Manual