downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

haru> <gnupg_sign
Last updated: Fri, 14 Aug 2009

view this page in

gnupg_verify

(PECL gnupg >= 0.1)

gnupg_verifyVérifie un texte signé

Description

array gnupg_verify ( resource $identifier , string $signed_text , string $signature [, string &$plaintext ] )

Vérifie le paramètre signed_text et retourne les informations à propos de la signature.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

signed_text

Le texte signé.

signature

La signature. Pour vérifier un texte signé en clair, fixez la signature à FALSE.

plaintext

Le texte. Si ce paramètre optionnel est passé, il est rempli avec le plaintext .

Valeurs de retour

En cas de succès, cette fonction retourne des informations à propos de la signature. En cas d'échec, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec gnupg_verify() (Style procédural)

<?php
$plaintext 
"";
$res gnupg_init();
// signé en clair
$info gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// signature détachée
$info gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

Exemple #2 Exemple avec gnupg_verify() (Style orienté objet)

<?php
$plaintext 
"";
$gpg = new gnupg();
// signé en clair
$info $gpg -> verify($signed_text,false,$plaintext);
print_r($info);
// signature détachée
$info $gpg -> verify($signed_text,$signature);
print_r($info);
?>



add a note add a note User Contributed Notes
gnupg_verify
dd at hibm dot org
26-Feb-2009 01:48
If verification fails, the gnupg_verify() returns the key's id instead of fingerprint .  It does not return FALSE as stated above (PHP4, have not tested PHP5).  You can compare it with result of keyinfo:

<?php
$resultOfVerify
= gnupg_verify($gpgresource, $message,FALSE,$key);
echo
"<pre>\$resultOfVerify",print_r($resultOfVerify),"</pre>";
//Above will out put something like
?>
$resultOfVerify Array
(
    [0] => Array
        (
            [fingerprint] => xxxxxxxxx (IF MESSAGE IS VERIFIED, THEN THIS MATCHES THE KEY FINGERPRINT OF THE KEY, IF UNVERIFIED, MATCHES THE KEY ID
            [validity] => 0
            [timestamp] => 0
            [status] => NNNNNN
            [summary] => 4
        )

)

<?php
$keyinfo
= gnupg_keyinfo($gpgresource,$key);
echo
"<pre>\$keyinfo ",print_r($keyinfo),"</pre>";
//Above will out put something like
?>
$keyinfo Array
(
    [0] => Array
        (
            [disabled] =>
            [expired] =>
            [revoked] =>
            [is_secret] =>
            [can_sign] => 1
            [can_encrypt] => 1
            [uids] => Array
                (
                    [0] => Array
                        (
                            [name] => WHATEVER
                            [comment] =>
                            [email] =>
                            [uid] => WHATEVER
                            [revoked] =>
                            [invalid] =>
                        )

                )

            [subkeys] => Array
                (
                    [0] => Array
                        (
                            [fingerprint] => xxxxxxxxxxxxxxxxxx 
                            [keyid] => xxxxxxxxx
                            [timestamp] => xxxxxxxxx
                            [expires] => 0
                            [is_secret] =>
                            [invalid] =>
                            [can_encrypt] => 1
                            [can_sign] => 1
                            [disabled] =>
                            [expired] =>
                            [revoked] =>
                        )

                )

        )

<?php
//To test if a message/signature pair is verified
if($resultOfVerify[0]['fingerprint'] == $keyinfo[0]['subkeys'][0]['fingerprint']){
  
//Ok, verified
}else{
 
//Oops, NOT verified
}

?>
kae at verens dot com
19-Sep-2008 11:27
You can see who made the signature by checking its fingerprint:

<?php
$res
= gnupg_init();
$info = gnupg_verify($res,$signed_text,$signature);
if(
$info !== false){
 
$fingerprint = $info['fingerprint'];
 
var_dump(gnupg_keyinfo($res, $fingerprint));
}

haru> <gnupg_sign
Last updated: Fri, 14 Aug 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites