English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP OpenSSL функции руководства
Функция openssl_pkey_get_public() используется для извлечения общественного ключа из сертификата для использования.
openssl_pkey_get_public()Функция вернет ваш общественный ключ.
Функция openssl_pkey_get_public() возвращает общественный ключ из заданного сертификата для использования с другими функциями.
openssl_pkey_get_public ( мixed $certificate ) : resource
Номер | Параметры | Описание |
---|---|---|
1 | сертификат | Вы можете использовать следующие сертификаты: 1. Ресурс X.509-сертификата 2. Публичный ключ из файла, формат file://путь/к/файлу/file.pem. 3. Публичный ключ в формате PEM. |
Если нет ошибок, функция PHP openssl_pkey_get_public() вернет положительный идентификатор ресурса. Если失败, она вернет false.
Эта функция начнет работать с версии PHP, превышающей 5.0.0.
Работа функции openssl_pkey_get_public() с сертификатом X.509
<?php $dn = array( "countryName" => "IN", "stateOrProvinceName" => "Karnataka", "localityName" => "test1", "organizationName" => "test2", "organizationalUnitName" => "test3", "commonName" => "www.test.com", "emailAddress" => "[email protected]" ); // Создание нового пары私钥/публичного ключа $privkey = openssl_pkey_new(); // Generate a certificate $csr = openssl_csr_new($dn, $privkey, array('digest_alg' => 'sha256')); $res_cert = openssl_csr_sign($csr, null, $privkey, 365); openssl_x509_export($res_cert, $x_509_certificate); echo $res_pubkey = openssl_pkey_get_public($x_509_certificate); ?>
Результат вывода
Ресурс id #5
Работа функции openssl_pkey_get_public() с файлом .pem
<?php $dn = array( "countryName" => "IN", "stateOrProvinceName" => "Karnataka", "localityName" => "test1", "organizationName" => "test2", "organizationalUnitName" => "test3", "commonName" => "www.test.com", "emailAddress" => "[email protected]" ); // Создание нового пары私钥/публичного ключа $privkey = openssl_pkey_new(); // Создание сертификата $csr = openssl_csr_new($dn, $privkey, array('digest_alg' => 'sha256')); $res_cert = openssl_csr_sign($csr, null, $privkey, 365); openssl_x509_export_to_file($res_cert, 'C:/xampp/htdocs/modules/openssl/x_509.pem'); echo $res_pubkey = openssl_pkey_get_public(file_get_contents('C:/xampp/htdocs/modules/openssl/x_509.pem')); ?>
Результат вывода
Ресурс id #7