| (PHP 4 >= 4.0.4)
openssl_verify - проверяет подпись.
Описание
int openssl_verify (string data, string signature, mixed pub_key_id)
Предупреждение! |
---|
Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск. |
Возвращает 1, если подпись корректна, и 0, если некорректна,
-1 при ошибке. openssl_verify() проверяет, что
signature корректна для специфицированных данных
data с помощью public ключа, ассоциированного с
pub_key_id. Это обязан быть public ключ, соответствующий private ключу, используемому для
подписи. Пример 1. openssl_verify() // принимаем, что $data и $signature содержат данные и подпись
// извлекаем public ключ из сертификата и читаем его
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);
// устанавливаем, okay подпись или нет
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1)
echo "good";
elseif ($ok == 0)
echo "bad";
else
echo "ugly, error checking signature";
// освобождаем ключ из памяти
openssl_free_key($pubkeyid); |
|
См. также openssl_sign(). | |