Forum und email
openssl_verify

openssl_verify

(PHP 4 >= 4.0.4, PHP 5)

openssl_verify -- Ověřit podpis

Popis

int openssl_verify ( string data, string signature, mixed pub_key_id [, int signature_alg] )

Vrací 1, pokud je podpis správný, 0, pokud je nesprávný, a -1 při chybě.

openssl_verify() ověřuje, zda je signature správný pro data pomocí veřejného klíče asociovaného s pub_key_id. Musí to být veřejný klíč odpovídající soukromému klíči použitému k podpisu.

Příklad 1. Ukázka openssl_verify()

// $data a $signature obsahují data a podpis

// získat z certifikátu veřejný klíč a připravit ho
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);

// zjistit, jestli je podpis v pořádku
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1)
    echo "dobře";
elseif ($ok == 0)
    echo "špatně";
else
    echo "nejhůř, při kontrole podpisu došlo k chybě";

// uvolnit klíč z paměti
openssl_free_key($pubkeyid);

Viz také openssl_sign().