Что такое код openssl_get_publickey

Linux.yaroslavl.ru

Учебник РНР
Назад Вперёд

openssl_get_publickey — извлекает public ключ из сертификата и готовит его для использования.

Описание

resource openssl_get_publickey (mixed certificate)

Эта функция — ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

Возвращает положительный идентификатор ресурса при успехе, FALSE при ошибке.

openssl_get_publickey() извлекает public ключ из X.509 сертификата certificate и готовит его для использования другими функциями.

Что такое код openssl_get_publickey

openssl_get_publickey — извлекает public ключ из сертификата и готовит его для использования.

Описание

resource openssl_get_publickey (mixed certificate)

Предупреждение!

Эта функция — ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

Возвращает положительный идентификатор ресурса при успехе, FALSE при ошибке.

openssl_get_publickey() извлекает public ключ из X.509 сертификата certificate и готовит его для использования другими функциями.

Что такое код openssl_get_publickey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_publickey — Extract public key from certificate and prepare it for use

Description resource openssl_get_publickey ( mixed certificate )

Encrypt using public key, decrypt using private key.

Use this to store stuff in your database: Unless someone
has your private key, the database contents are useless.

Also, use this for sending to a specific individual: Get
their public key, encrypt the message, only they can use
their private key to decode it.

Что такое код openssl_get_publickey

openssl_get_publickey — извлекает public ключ из сертификата и готовит его для использования.

Описание

resource openssl_get_publickey (mixed certificate)

Предупреждение!

Эта функция — ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

Возвращает положительный идентификатор ресурса при успехе, FALSE при ошибке.

openssl_get_publickey() извлекает public ключ из X.509 сертификата certificate и готовит его для использования другими функциями.

Что такое код openssl_get_publickey

984 просмотра

2 ответа

1830 Репутация автора

Я использую библиотеку, которая использует openssl_pkey_get_public, но она возвращает false. Кажется, что openssl включен, а ключ существует. Ниже приведены несколько строк из библиотеки, которую я использую, кстати, которую я отлаживаю, но не могу изменить, поскольку это не моя база кода:

Я вставил следующий код отладки:

Ниже показано содержимое $ keyPath:

Ранее я создал ключи с помощью следующей команды:

Некоторая дополнительная информация, если это поможет:

Есть ли причина, по которой это может происходить?

Ответы (2)

2 плюса

9834 Репутация автора

Вы используете открытый ключ в формате SSH. OpenSSL не поддерживает этот формат. Но вы знаете, что поддерживает этот формат? phpseclib. Он автоматически определит формат и после загрузки позволит вам выполнять все необходимые операции RSA. Имейте в виду, что phpseclib ожидает, что ему будет передан фактический ключ — не путь к ключу в файловой системе, а сам ключ.

openssl_get_publickey возвращает «Resource > Вопрос задан: 2 года назад Последняя активность: 2 года назад

Я делаю проверки покупки на стороне сервера In-App для Android. Мой PHP версии 5.6.28, и мой OpenSSL версии 1.0.2j.

У меня возникли проблемы с получением открытого ключа. Приведенный ниже код возвращает Resource id #2 :

Мой открытый ключ создается из:

где base64EncodedPublicKeyFromGoogle является открытым ключом от Google

Я пытался искать какие «ID ресурса # 2» означает, но не могу найти. Любой знает, что это означает, и как сделать openssl_get_publickey работай?

RSA шифрование в PHP (openssl), Android/Java, JavaScript и Go

RSA — это алгоритм шифрования с открытым ключем. Шифрование с открытым ключем весьма полезная вещь. RSA позволяет создать два ключа: открытый и закрытый. Разместить открытый ключ где-то и им шифровать, а расшифровать сможет только обладатель закрытого ключа.

Например, мы можем сделать веб магазин на ПХП, который будет принимать заказы с данными кредитных карт. Магазин на ПХП будет шифровать данные кредитных карт открытым ключем. Сам пхп-магазин расшифровать эти зашифрованные данные уже не сможет. Хорошее решение, хакер неожиданно так взломает веб магазин (написанный на ПХП), а карты зашифрованы.

Но как же владелец сайта будет получать доступ к картам? Ему нужно взять шифротекст, закрытый ключ и расшифровать. Можно представить, что закрытый ключ будет храниться в телефоне, и телефон может вытянуть шифротекст с админки через QR код. Но в разных языках реализация криптографии немного отличается, и моя статья как раз о том, как зашифровать текст на одном языке програмирования, а расшифровать на другом языке.

В чем могут быть отличия?
— как хранятся ключи;
— как хранится шифротекст: бинарная форма или в кодировке base64;
— паддинг.

Первым делом нам нужны ключи. Я предлагаю их создать с помощью openssl

Для экономии места на экране я выбрал 512 бит, целесообразно использовать 1024 или 2048 бит. Например, SSL gitgub.com использует 2048.

Так же размер ключа определяет максимальный объем данных, которые вы можете зашифровать, но с учетом того, что мы будем использовать OPENSSL_PKCS1_PADDING (по умолчанию в ПХП), то из размера ключа следует вычесть 11 байт и при ключе 512 бит мы можем зашифровать 53 байта. Не использовать паддинг вообще опасно, если вы не знаете зачем он нужен.

How to extract public key using OpenSSL?

The following command generates a file which contains both public and private key:

With OpenSSL, the private key contains the public key information as well, so a public key doesn’t need to be generated separately

How can we extract the public key from the privkey.pem file?

5 Answers 5

That writes the public key to key.pub

Though, the above technique works for the general case, it didn’t work on Amazon Web Services (AWS) PEM files.

I did find in the AWS docs the following command works: ssh-keygen -y

edit Thanks @makenova for the complete line:

For those interested in the details — you can see what’s inside the public key file (generated as explained above), by doing this:-

or for the private key file, this:-

which outputs as text on the console the actual components of the key (modulus, exponents, primes, . )

If your looking how to copy an Amazon AWS .pem keypair into a different region do the following:

For AWS importing an existing public key,

Export from the .pem doing this. (on linux)

This will produce a file which if you open in a text editor looking something like this.

However AWS will NOT accept this file.

You have to strip off the ——BEGIN PUBLIC KEY—— and ——END PUBLIC KEY—— from the file. Save it and import and it should work in AWS.

Что такое код openssl_get_publickey

openssl_get_publickey — извлекает public ключ из сертификата и готовит его для использования.

Описание

resource openssl_get_publickey (mixed certificate)

Предупреждение!

Эта функция — ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

Возвращает положительный идентификатор ресурса при успехе, FALSE при ошибке.

openssl_get_publickey() извлекает public ключ из X.509 сертификата certificate и готовит его для использования другими функциями.

Что такое код openssl_get_publickey

openssl_get_publickey — Extract public key from certificate and prepare it for use

Description

resource openssl_get_publickey (mixed certificate)

Предупреждение!

This function is EXPERIMENTAL . That means, that the behaviour of this function, this function name, in concreto ANYTHING documented here can change in a future release of PHP WITHOUT NOTICE. Be warned, and use this function at your own risk.

Returns a positive key resource > FALSE on error.

openssl_get_publickey() extracts the public key from an X.509 certificate specified by certificate and prepares it for use by other functions.

Илон Маск рекомендует:  Поддержка INPUT type=date для старых браузеров
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Warning