The 7th Annual China PHP Conference

gnupg_verify

(PECL gnupg >= 0.1)

gnupg_verify署名済みテキストを検証する

説明

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

指定した signed_text を検証し、署名についての情報を返します。

パラメータ

identifier

gnupg_init() あるいは gnupg のコールで得られた gnupg ID。

signed_text

The signed text.

signature

署名。clearsign で署名されたテキストを検証するには、 signature に FALSE を設定します。

plaintext

平文テキスト。 このオプションのパラメータを渡すと、 復号されたテキストがそこに保存されます。

返り値

成功した場合、この関数は署名についての情報を返します。 失敗した場合、この関数は FALSE を返します。

例1 手続き型の gnupg_verify() の例

<?php
$plaintext 
"";
$res gnupg_init();
// clearsigned
$info gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// detached signature
$info gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

例2 オブジェクト指向の gnupg_verify() の例

<?php
$plaintext 
"";
$gpg = new gnupg();
// clearsigned
$info $gpg -> verify($signed_text,false,$plaintext);
print_r($info);
// detached signature
$info $gpg -> verify($signed_text,$signature);
print_r($info);
?>

add a note add a note

User Contributed Notes 1 note

up
1
kae at verens dot com
10 years ago
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));
}
To Top