Un gran número de funciones OpenSSL requieren una clave o un certificado como parámetros. Los métodos siguientes pueden ser utilizados para obtenerlos:
Certificados
Una instancia de OpenSSLCertificate
(o anterior a PHP 8.0.0, un resource de tipo OpenSSL X.509)
devuelta por openssl_x509_read()
Una cadena con el formato file://path/to/cert.pem; El fichero identificado debe contener un certificado, codificado en formato PEM.
Una cadena que contiene el contenido de un certificado, codificado
en formato PEM, puede comenzar por -----BEGIN CERTIFICATE-----.
Solicitudes de firma de certificados (Certificate Signing Requests, abreviado CSRs)
Una instancia de OpenSSLCertificateSigningRequest
(o anterior a PHP 8.0.0, un resource de tipo OpenSSL X.509 CSR)
devuelta por openssl_csr_new()
Una string con el formato file://path/to/csr.pem; el fichero nombrado debe contener un CSR codificado en formato PEM.
Una string que contiene el contenido de un CSR, codificado en formato PEM,
puede comenzar por -----BEGIN CERTIFICATE REQUEST-----.
Claves públicas/privadas
Una instancia de OpenSSLAsymmetricKey
(o anterior a PHP 8.0.0, un resource de tipo OpenSSL key)
devuelta por openssl_csr_new()
Para las claves públicas únicamente: una instancia de OpenSSLCertificate
(o anterior a PHP 8.0.0, un resource de tipo OpenSSL X.509)
Una cadena con el formato: file://path/to/file.pem. El fichero debe contener una clave privada, o un certificado, codificado en formato PEM (puede contener ambos).
Una string que contiene el contenido de un certificado/clave, codificado en formato PEM,
puede comenzar por -----BEGIN PUBLIC KEY-----.
Para las claves privadas, también puede utilizarse la
sintaxis array($key, $passphrase), donde
$key
representa una clave especificada por un
fichero o una representación textual como se ha citado anteriormente, y $passphrase representa una
cadena que contiene la frase de contraseña de esta clave privada.