International PHP Conference Berlin 2021

openssl_pkey_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_export_to_fileGets an exportable representation of a key into a file

Description

openssl_pkey_export_to_file ( OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key , string $output_filename , string|null $passphrase = null , array|null $options = null ) : bool

openssl_pkey_export_to_file() saves an ascii-armoured (PEM encoded) rendition of key into the file named by output_filename.

Note: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Parameters

key

output_filename

Path to the output file.

passphrase

The key can be optionally protected by a passphrase.

options

options can be used to fine-tune the export process by specifying and/or overriding options for the openssl configuration file. See openssl_csr_new() for more information about options.

Return Values

Returns true on success or false on failure.

Changelog

Version Description
8.0.0 key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
add a note add a note

User Contributed Notes 2 notes

up
-3
w3ricardo
9 years ago
You can't use this function to export a public key

Warning: openssl_pkey_export_to_file(): supplied key param is a public key
up
-3
StampyCode
4 years ago
On Linux (PHP5.6), this function will overwrite an existing keyfile, unless the keyfile is marked as read-only, in which case you will get an error:

    error:0200100D:system library:fopen:Permission denied
To Top