openssl_spki_export

Exports a valid PEM formatted public key signed public key and challenge

&reftitle.description; ``string``false```openssl_spki_export` `string` `spki`

Exports PEM formatted public key from encoded signed public key and challenge

&reftitle.parameters;

`spki`

- Expects a valid signed public key and challenge

&reftitle.returnvalues;

Returns the associated PEM formatted public key or &false; on failure.

&reftitle.errors;

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

&reftitle.examples;

### `openssl_spki_export` example

Extracts the associated PEM formatted public key or &null; on failure.

    <?php
    $pkey = openssl_pkey_new('secret password');
    $spkac = openssl_spki_new($pkey, 'challenge string');
    $pubKey = openssl_spki_export(preg_replace('/SPKAC=/', '', $spkac));

    if ($pubKey) {
        echo $pubKey;
    }
    ?>

### `openssl_spki_export` example from <keygen>

Extracts the associated PEM formatted public key issued from the <keygen> element

    <?php
    $spkac = openssl_spki_export(preg_replace('/SPKAC=/', '', $_POST['spkac']));
    if ($spkac != NULL) {
        echo $spkac;
    } else {
        echo "Extraction of pub key failed";
    }
    ?>
    <keygen name="spkac" challenge="challenge string" keytype="RSA">

&reftitle.seealso;

- `openssl_spki_new`
- `openssl_spki_verify`
- `openssl_spki_export_challenge`
- `openssl_get_md_methods`
- `openssl_csr_new`
- `openssl_csr_sign`