openssl_pkey_new

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

openssl_pkey_newГенерирует новый закрытый ключ

Описание

openssl_pkey_new(?array$options = null): OpenSSLAsymmetricKey|false

openssl_pkey_new() создаёт новый закрытый ключ. Как получить открытую часть ключа показано в примере ниже.

Замечание: Для корректной работы этой функции должен существовать правильный openssl.cnf. Для более подробной информации смотрите замечания под разделом установки.

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

options

Вы можете настроить параметры генерации ключа (например указать число бит) с помощью options. Смотрите описание функции openssl_csr_new() для детальной информации о options.

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

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

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

ВерсияОписание
8.0.0 В случае успешного выполнения функция возвращает экземпляр OpenSSLAsymmetricKey; ранее возвращался ресурс (resource) типа OpenSSL key.
7.1.0Добавлен ключ curve_name в option для обеспечения возможности создания EC ключей.

Примеры

Пример #1 Получить открытую часть ключа из закрытого ключа

<?php
$private_key
= openssl_pkey_new();
$public_key_pem = openssl_pkey_get_details($private_key)['key'];
echo
$public_key_pem;
$public_key = openssl_pkey_get_public($public_key_pem);
var_dump($public_key);
?>

Вывод приведённого примера будет похож на:

-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArZFsmN2P6rx1Xt7YV95o gcdlal0k3ryiIhFNzjwtRNNTXfEfBr6lUuaIJYQ8/XqEBX0hpcfuuF6tTRlonA3t WLME0QFD93YVsAaXcy76YqjjqcRRodIBphAbYyyMI/lXkQAdn7kbAmr7neSOsMYJ El9Wo4Hl4oG6e52ZnYHyqW9dxh4hX93eupR2TmcCdVf+r9xoHewP0KJYSHt7vDUX AQlWYcQiWHIadFsmL0orr6mutlXFReoHbesgKY9/3YLOu0JfxflSjIZ2JeL1NTl1 MsmODsUwgAUrwnWKKx+eQUP5g3GnSB3dPkRh9zRVRiLNWbCugyjrf3e6DgQWrW7j pwIDAQAB -----END PUBLIC KEY----- resource(5) of type (OpenSSL key)
To Top