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: или ресурс, который вернула функция gnupg_init(), или объект класса gnupg.

signed_text

Подписанный текст.

signature

Подпись. Чтобы проверить прозрачную подпись, параметр должен быть равен false.

plaintext

Обычный текст. Если этот необязательный параметр необходимо передать, то он заполняется обычным текстом.

Возвращаемые значения

В случае успешного выполнения функция возвращает информацию о подписи. В случае возникновения ошибки функция возвращает false.

Примеры

Пример #1 Пример использования gnupg_verify() в процедурном стиле

<?php
$plaintext
= "";
$res = gnupg_init();
// прозрачная подпись
$info = gnupg_verify($res, $signed_text, false, $plaintext);
print_r($info);
// раздельная подпись
$info = gnupg_verify($res, $signed_text, $signature);
print_r($info);
?>

Пример #2 Пример использования gnupg_verify() в объектно-ориентированном стиле

<?php
$plaintext
= "";
$gpg = new gnupg();
// прозрачная подпись
$info = $gpg->verify($signed_text, false, $plaintext);
print_r($info);
// раздельная подпись
$info = $gpg->verify($signed_text, $signature);
print_r($info);
?>

Добавить

Примечания пользователей 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