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));
}
gnupg_verify
(PECL gnupg >= 0.1)
gnupg_verify — 署名済みテキストを検証する
説明
array gnupg_verify
( resource $identifier
, string $signed_text
, string $signature
[, string &$plaintext
] )
指定した 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);
?>
gnupg_verify
kae at verens dot com
19-Sep-2008 02:27
19-Sep-2008 02:27
