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()

  1. <?php
  2. // On suppose que $data et $signature contiennent les données à signer et
  3. // la signature.
  4. // Lecture de la clé publique depuis le certificat
  5. $fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
  6. $cert = fread($fp, 8192);
  7. fclose($fp);
  8. $pubkeyid = openssl_get_publickey($cert);
  9.  
  10. // indique si la signature est correcte
  11. $ok = openssl_verify($data, $signature, $pubkeyid);
  12. if ($ok == 1) {
  13. echo "Signature valide";
  14. } elseif ($ok == 0) {
  15. echo "Signature erronée";
  16. } else {
  17. echo "Erreur de vérification de la signature";
  18. }
  19. // libère les clés de la mémoire
  20. openssl_free_key($pubkeyid);
  21. ?>

Voir aussi

LoadingChargement en cours