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

- « openssl_sign

- openssl_spki_export_challenge »

- PHP Manual
- OpenSSL Functions
- Exports a valid PEM formatted public key signed public key and challenge

# openssl_spki_export

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

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

### Description

openssl_spki_export(string `$spki`): string|false

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

### Parameters

`spki`

  Expects a valid signed public key and challenge

### Return Values

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

### Errors/Exceptions

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

### Examples

Example #1 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;
    }
    ?>

Example #2 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">

### See Also

- openssl_spki_new() - Generate a new signed public key and challenge
- openssl_spki_verify() - Verifies a signed public key and challenge
- openssl_spki_export_challenge() - Exports the challenge associated with a signed public key and challenge
- openssl_get_md_methods() - Gets available digest methods
- openssl_csr_new() - Generates a CSR
- openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate