Параметри ключа/сертифіката
Деякі функції openssl потребують параметрів у вигляді ключа або сертифіката. Можна використовувати один із таких варіантів:
-
Сертифікати
- Екземпляр OpenSSLCertificate(або до PHP 8.0.0 ресурс (resource) типу
OpenSSL X.509
), що повертається функцієюopenssl_x509_read() - Рядок формату file://path/to/cert.pem; Цей файл повинен містити сертифікат у форматі PEM.
- Рядок, в якому знаходиться вміст сертифіката/ключа, закодованого PEM, може починатися з
-----BEGIN CERTIFICATE-----
- Екземпляр OpenSSLCertificate(або до PHP 8.0.0 ресурс (resource) типу
-
Запити підпису сертифіката (Certificate Signing Requests або CSRs)
- Екземпляр OpenSSLCertificateSigningRequest(або до PHP 8.0.0 ресурс (resource) типу
OpenSSL X.509 CSR
), що повертається функцієюopenssl_csr_new() - Рядок виду file://path/to/csr.pem; Цей файл повинен містити CSR у форматі PEM.
- Рядок з CSR, кодований у форматі PEM, повинен починатися з
-----BEGIN CERTIFICATE REQUEST-----
- Екземпляр OpenSSLCertificateSigningRequest(або до PHP 8.0.0 ресурс (resource) типу
-
Відкриті/закриті ключі
- Екземпляр OpenSSLAsymmetricKey(або до PHP 8.0.0 ресурс (resource) типу
OpenSSL key
), що повертається функцієюopenssl_get_publickey() або openssl_get_privatekey() - Тільки для відкритих ключів: екземплярOpenSSLCertificate(або до PHP 8.0.0 ресурс (resource) типу
OpenSSL X.509
) . - Рядок формату file://path/to/file.pem - вказаний файл повинен містити сертифікат у форматі PEM (може містити обидва ключі).
- Рядок, в якому знаходиться вміст сертифіката/ключа, закодованого PEM, може починатися з
-----BEGIN CERTIFICATE-----
- Для закритих ключів можливе використання синтаксису
array($key, $passphrase)
де $key представляє ключ вказаний за допомогою формату file:// або текстовий вміст описаний вище, а $passphrase представляє рядок, що містить пароль для зазначеного закритого ключа
- Екземпляр OpenSSLAsymmetricKey(або до PHP 8.0.0 ресурс (resource) типу