Как раскодировать aes128gcm? Здравствуйте!
Как можно раскодировать запрос с web-push уведомления, если известен authToken и publicKey. $ciphertext = .....; // тело запроса
$publicKey = 'BCR.....'; // он же p256dh Key
$authToken ='J4E5H.......';
echo openssl_decrypt($ciphertext, "aes-128-gcm",$publicKey, 0, $authToken);https://jrconlin.github.io/WebPushDataTestPage/
Вот здесь более подробно описан процесс кодирования, но к сожалению ничего не работает)
Данный код к сожалению ничего не выдает.... может кто-то сталкивался?

21 Авг 2019 в 07:11
158 +1
0
Ответы
1

Для раскодирования AES128GCM с помощью OpenSSL в PHP вам нужно правильно сформировать параметры функции openssl_decrypt.

В вашем случае, если $ciphertext содержит зашифрованное сообщение, $publicKey содержит public key (p256dh Key) и $authToken содержит auth token, то код для раскодирования должен выглядеть примерно так:

$ciphertext = .....; // тело запроса
$publicKey = 'BCR.....'; // он же p256dh Key
$authToken ='J4E5H.......';
// Декодируем base64 строку $publicKey
$publicKey = base64_decode($publicKey);
// Устанавливаем параметры.
$tag_length = 16;
$iv = substr($ciphertext, 0, 12);
$tag = substr($ciphertext, -16);
$encrypted_data = substr($ciphertext, 12, strlen($ciphertext) - 12 - 16);
// Расшифровываем сообщение.
$plaintext = openssl_decrypt($encrypted_data, 'aes-128-gcm', $publicKey, OPENSSL_RAW_DATA, $iv, $tag, $authToken);
echo $plaintext;

Пожалуйста, убедитесь, что $ciphertext действительно содержит зашифрованное сообщение, и что $publicKey и $authToken переданы в правильном формате. Если все параметры верны, то данный код должен раскодировать сообщение с использованием указанных ключей.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 852 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир