International PHP Conference Berlin 2021

openssl_pkey_get_private

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

openssl_pkey_get_privateПолучить закрытый ключ

Описание

openssl_pkey_get_private ( OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , string|null $passphrase = null ) : OpenSSLAsymmetricKey|false

openssl_pkey_get_private() разбирает private_key и подготавливает его к использованию в других функциях.

Список параметров

private_key

private_key может быть задан следующим образом:

  1. строка вида file://path/to/file.pem. Файл должен содержать кодированный в PEM сертификат/закрытый ключ (может содержать и то и другое).
  2. Секретный ключ в формате PEM.

passphrase

Если ключ защищён паролем, то его надо указать в параметре passphrase.

Возвращаемые значения

Возвращает экземпляр OpenSSLAsymmetricKey или false в случае возникновения ошибки.

Список изменений

Версия Описание
8.0.0 В случае успешного выполнения функция возвращает экземпляр OpenSSLAsymmetricKey; ранее возвращался ресурс (resource) типа OpenSSL key.
8.0.0 private_key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
8.0.0 passphrase теперь допускает значение null.
add a note add a note

User Contributed Notes 2 notes

up
29
kristof1 at mailbox dot hu
6 years ago
It's actually "file://key.pem" when you want to give a relative path using unix systems. It will be three '/' in case of absolute path (e.g "file:///home/username/..."). But this path consists of two '/' originated from "file://" and one '/' from the fact that home is a subfolder of the unix filesystem's root directory ("/home/username/..."). This two part will be concatenated and you will get three '/' characters following each other.

So you only have to concatenate "file://" with an existing path string in every case.
up
2
pablo dot siciliano at gmail dot com
4 months ago
Hi.

If this function not work with pathname try with a file_get_contents of a key file.
To Top