PHP Conference Nagoya 2025

gnupg_verify

(PECL gnupg >= 0.1)

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

説明

gnupg_verify(
    resource $identifier,
    string $signed_text,
    string $signature,
    string &$plaintext = ?
): array|false

指定した 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

User Contributed Notes 2 notes

up
2
kae at verens dot com
16 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));
}
up
2
izumeroot at gmail dot com
2 years ago
Where can I see description of result array?

I've got

Array
(
[0] => Array
(
[fingerprint] => 9BF78012F700B345827346E1EFA3026F01404358
[validity] => 4
[timestamp] => 1643100153
[status] => 0
[summary] => 3
)

)

But what does "status" mean? What is "validity"? What is "summary"?
To Top