Várias funções openssl exigem um parâmetro de chave ou certificado. Os seguintes métodos podem ser usados para obtê-los:
Certificados
Uma instância OpenSSLCertificate
(ou antes do PHP 8.0.0, um resource do tipo OpenSSL X.509)
retornada de openssl_x509_read()
Uma string com o formato file://path/to/cert.pem; o arquivo nomeado deve conter um certificado codificado PEM
Uma string contendo o conteúdo de um certificado, codificado em PEM,
pode começar com -----BEGIN CERTIFICATE-----
Solicitações de assinatura de certificado (CSRs)
Uma instância de OpenSSLCertificateSigningRequest
(ou antes do PHP 8.0.0, um resource do tipo OpenSSL X.509 CSR)
retornado de openssl_csr_new()
Uma string com o formato file://path/to/csr.pem; o arquivo nomeado deve conter um CSR codificado em PEM.
Uma string contendo o conteúdo de um CSR, codificado em PEM,
pode começar com -----BEGIN CERTIFICATE REQUEST-----
Chaves Públicas/Privadas
Uma instância de OpenSSLAsymmetricKey
(ou anterior ao PHP 8.0.0, um resource do tipo OpenSSL key)
retornada de openssl_get_publickey() ou
openssl_get_privatekey()
Somente para chaves públicas: uma instância de OpenSSLCertificate
(ou anterior ao PHP 8.0.0, um resource do tipo OpenSSL X.509)
Uma string com o formato file://path/to/file.pem - o arquivo nomeado deve conter um certificado e/ou chave privada codificado em PEM (pode conter ambos)
Uma string contendo o conteúdo de um certificado/chave,
codificado em PEM, pode começar com
-----BEGIN PUBLIC KEY-----
Para chaves privadas, pode ser usada também a sintaxe
array($key, $passphrase) onde $key representa uma
chave especificada usando a notação file:// ou de conteúdo textual acima, e
$passphrase representa uma string contendo a senha para essa
chave privada