English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основной Учебник

PHP Уровеньный Учебник

PHP & MySQL

PHP Референс Мануал

Пример использования функции PHP openssl_pkey_get_public()

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

Эта функция начнет работать с версии PHP, превышающей 5.0.0.

Пример 1

Работа функции 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

Пример 2

Работа функции 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

PHP OpenSSL функции руководства