Как загрузить открытый ключ для подписи обратного вызова кошелька?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как загрузить открытый ключ для подписи обратного вызова кошелька?

Сообщение Anonymous »

При использовании API Google Кошелька можно указать URL-адрес обратного вызова, который будет указывать, был ли пропуск добавлен или удален у пользователя. Чтобы убедиться в этом, мне сначала нужно загрузить открытый ключ, указанный здесь: https://pay.google.com/gp/m/issuer/keys
Например:

Код: Выделить всё

"keyValue": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs\/J7ghdwu4\/b6NvqzQebS+Z80FEP8ZlGdAdWDUjfPeBKaV+YOWW0l6U\/4IGXnfY9NrsND1fwxAqRq0unR\/LCIg==",
"protocolVersion": "ECv2SigningOnly",
Я не могу найти способ сделать это в PHP, а различные AI-боты дают только нерабочие скрипты.
Я безуспешно пробовал функции openssl в PHP, а также phpseclib3. Всегда получаю сообщение «Невозможно прочитать ключ».
Это должен быть ключ EC, который начинается с 0x03 или 0x04, но этот ключ начинается с «0Y0», а количество байтов (25) является неожиданным.
Найденные мной сценарии Python (ECC.import_key) и C# просто загружают двоичный ключ после декодирования base64, но я сам не пробовал эти сценарии, поскольку я нужно заставить его работать на PHP. То же самое касается примера Java самого Google (с использованием их библиотеки Tink).
Следующие и другие параметры (с использованием phpseclib3), похоже, не работают, все они завершаются с ошибкой «Невозможно прочитать ключ»:

Код: Выделить всё

    $keyValue = "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs/J7ghdwu4/b6NvqzQebS+Z80FEP8ZlGdAdWDUjfPeBKaV+YOWW0l6U\/4IGXnfY9NrsND1fwxAqRq0unR/LCIg==";
$ecPublicKeyBinary = base64_decode($keyValue);
$publicKey = PublicKeyLoader::load($ecPublicKeyBinary);
// or
$publicKey = EC::load($ecPublicKeyBinary, 'PKCS8');
Также попробовал основные функции, такие как добавление строк «BEGIN/END PUBLIC KEY» и т. д.
Мне что-то не хватает, так как это должно быть понятно, надеюсь, кто-нибудь укажет мне правильное направление.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -signature
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»