openssl_spki_verify

Verifies a signed public key and challenge

&reftitle.description; `bool` `openssl_spki_verify` `string` `spki`

Validates the supplied signed public key and challenge

&reftitle.parameters;

`spki`

- Expects a valid signed public key and challenge

&reftitle.returnvalues;

&return.success;

&reftitle.errors;

Emits an `E_WARNING` level error if an invalid argument is passed via the `spki` parameter.

&reftitle.examples;

### `openssl_spki_verify` example

Validates an existing signed public key and challenge

    <?php
    $pkey = openssl_pkey_new('secret password');
    $spkac = openssl_spki_new($pkey, 'challenge string');

    if (openssl_spki_verify(preg_replace('/SPKAC=/', '', $spkac))) {
        echo $spkac;
    } else {
        echo "SPKAC validation failed";
    }
    ?>

### `openssl_spki_verify` example from <keygen>

Validates an existing signed public key and challenge issued from the <keygen> element

    <?php
    if (openssl_spki_verify(preg_replace('/SPKAC=/', '', $_POST['spkac']))) {
        echo $spkac;
    } else {
        echo "SPKAC validation failed";
    }
    ?>
    <keygen name="spkac" challenge="challenge string" keytype="RSA">

&reftitle.seealso;

- `openssl_spki_new`
- `openssl_spki_export_challenge`
- `openssl_spki_export`
- `openssl_get_md_methods`
- `openssl_csr_new`
- `openssl_csr_sign`