Openssl pkey get public: примеры (PHP)
openssl_pkey_get_public(OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key): OpenSSLAsymmetricKey|falseФункция openssl_pkey_get_public используется для получения ресурса открытого ключа из различных источников данных. Она применяется в процессах шифрования, проверки цифровых подписей и при организации защищенных коммуникаций.
- public_key - принимает строку с ключом в формате PEM, X.509 или ресурс сертификата.
- passphrase - необязательный аргумент для пароля, если ключ защищен.
Функция возвращает ресурс ключа или объект OpenSSLAsymmetricKey в PHP 8.0+. При ошибке возвращается false.
$publicKey = '-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz4v3... -----END PUBLIC KEY-----'; $keyResource = openssl_pkey_get_public($publicKey); var_dump($keyResource);resource(2) of type (OpenSSL key)
$cert = file_get_contents('certificate.pem'); $keyResource = openssl_pkey_get_public($cert); var_dump($keyResource !== false);bool(true)
$encryptedKey = '-----BEGIN ENCRYPTED PRIVATE KEY----- ...'; $keyResource = openssl_pkey_get_public($encryptedKey, 'myPass123'); var_dump($keyResource);resource(3) of type (OpenSSL key)
Извлекает закрытый ключ. Используется для операций расшифрования и создания подписей.
Алиас для openssl_pkey_get_public с идентичным функционалом.
Универсальная функция для чтения как открытых, так и закрытых ключей. Рекомендуется для обработки неизвестного типа ключа.
$key = 'invalid key data'; $result = openssl_pkey_get_public($key); var_dump($result);bool(false)
// При отключенном расширении openssl function_exists('openssl_pkey_get_public');bool(false)
$key = ['data']; $result = openssl_pkey_get_public($key);Warning: openssl_pkey_get_public() expects parameter 1 to be string, array given
Функция возвращает объект OpenSSLAsymmetricKey вместо ресурса. Ресурсы OpenSSL устарели.
Добавлена генерация исключений при некорректных параметрах в некоторых случаях.
Улучшена обработка парольных фраз для защищенных ключей.
$publicKey = openssl_pkey_get_public(file_get_contents('public.pem')); $data = 'Проверяемые данные'; $signature = base64_decode($signatureBase64); $result = openssl_verify($data, $signature, $publicKey, OPENSSL_ALGO_SHA256); echo $result === 1 ? 'Подпись верна' : 'Ошибка проверки';Подпись верна
$key = openssl_pkey_get_public($pemKey); $plaintext = 'Секретное сообщение'; openssl_public_encrypt($plaintext, $encrypted, $key); echo base64_encode($encrypted);eW91ciBlbmNyeXB0ZWQgZGF0YQ==
$keyResource = openssl_pkey_get_public($pemKey); $details = openssl_pkey_get_details($keyResource); echo 'Тип: ' . $details['type'] . '\n'; echo 'Биты: ' . $details['bits'] . '\n';Тип: 0 Биты: 2048
$cert = openssl_x509_read(file_get_contents('cert.crt')); $publicKey = openssl_pkey_get_public($cert); $details = openssl_pkey_get_details($publicKey); print_r($details['key']);-----BEGIN PUBLIC KEY-----...-----END PUBLIC KEY-----
$keys = ['key1.pem', 'key2.pem']; foreach($keys as $file) { $key = openssl_pkey_get_public(file_get_contents($file)); if($key) { echo "Ключ $file загружен\n"; } }Ключ key1.pem загружен Ключ key2.pem загружен
from cryptography.hazmat.primitives import serialization with open("public.pem", "rb") as key_file: public_key = serialization.load_pem_public_key(key_file.read())const crypto = require('crypto'); const publicKey = `-----BEGIN PUBLIC KEY-----...`; const keyObject = crypto.createPublicKey(publicKey);Openssl pkey get public в MySQL
Функция ASYMMETRIC_DER_PUBLIC() извлекает открытый ключ из DER-формата. Отличается ограниченной поддержкой форматов.
PHP openssl_pkey_get_public function comments
- Php openssl pkey get public - аргументы и возвращаемое значение
- Функция php openssl_pkey_get_public - описание
- openssl pkey get public - примеры
- openssl pkey get public - похожие методы на php
- openssl_pkey_get_public на js, python, mysql
- openssl pkey get public изменения php
- Примеры openssl_pkey_get_public на php