openssl_csr_export

Exports a CSR as a string

&reftitle.description; `bool` `openssl_csr_export` ``OpenSSLCertificateSigningRequest``string```csr` `string` `output` `bool` `no_text`&true;

`openssl_csr_export` takes the Certificate Signing Request represented by `csr` and stores it in PEM format in `output`, which is passed by reference.

&reftitle.parameters;

&openssl.param.csr;

`output`

- on success, this string will contain the PEM encoded CSR

`no_text`

- ¬e.openssl.param-notext;
&reftitle.returnvalues;

&return.success;

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `csr` accepts an `OpenSSLCertificateSigningRequest` instance now; previously, a &resource; of type `OpenSSL X.509 CSR` was accepted.

&reftitle.examples;

### openssl_csr_export() example

    <?php
    $subject = array(
        "commonName" => "example.com",
    );
    $private_key = openssl_pkey_new(array(
        "private_key_bits" => 2048,
        "private_key_type" => OPENSSL_KEYTYPE_RSA,
    ));
    $configargs = array(
        'digest_alg' => 'sha256WithRSAEncryption'
    );
    $csr = openssl_csr_new($subject, $private_key, $configargs);
    openssl_csr_export($csr, $csr_string);
    echo $csr_string;
    ?>

&reftitle.seealso;

- `openssl_csr_export_to_file`
- `openssl_csr_new`
- `openssl_csr_sign`