PHP Manual
Prev |  | Next

# openssl_verify

(PHP 4 >= 4.0.4)

openssl_verify -- Verify signature

## Description

``int openssl_verify` (string data, string signature, mixed pub_key_id)`

Warning
This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change in a future release of PHP without notice. Be warned and use this function at your own risk.

Returns 1 if the signature is correct, 0 if it is incorrect, and -1 on error.

openssl_verify() verifies that the `signature` is correct for the specified `data` using the public key associated with `pub_key_id`. This must be the public key corresponding to the private key used for signing.

Example 1. openssl_verify() example
    // $data and $signature are assumed to contain the data and the signature

    // fetch public key from certificate and ready it
    $fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
    $cert = fread($fp, 8192);
    fclose($fp);
    $pubkeyid = openssl_get_publickey($cert);

    // state whether signature is okay or not
    $ok = openssl_verify($data, $signature, $pubkeyid);
    if ($ok == 1)
        echo "good";
    elseif ($ok == 0)
        echo "bad";
    else
        echo "ugly, error checking signature";

    // free the key from memory
    openssl_free_key($pubkeyid);

See also openssl_sign().

Prev | Home | Next
openssl_sign | Up | openssl_pkcs7_decrypt