![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Исправление ошибок в подписи Amazon MWS при использовании Delphi XE7 и IndyDelphi , Синтаксис , ШифрованиеПри работе с Amazon MWS (Marketplace Web Service) важным аспектом является создание корректной подписи для аутентификации запросов. В данной статье рассматривается проблема, связанная с генерацией подписи в среде Delphi XE7 с использованием компонентов Indy, и предлагается решение этой проблемы. ПроблемаПользователь столкнулся с проблемой, при которой подпись, сгенерированная в Delphi XE7 с использованием Indy для HTTP POST и HMAC с алгоритмом SHA256, не совпадала с подписью, полученной в PHP. Это приводило к ошибке при попытке выполнения запроса к Amazon MWS. Контекст проблемыПользователь использовал следующий код для генерации подписи:
Однако, несмотря на использование кода в UTF16LE, который соответствует типу данных UnicodeString в Delphi, подпись, полученная в Delphi, отличалась от подписи, полученной в PHP. Подтвержденное решениеПользователь отмечает, что после обновления до последней версии Indy 10 из SVN, проблема с подписью была устранена. В Delphi, при использовании UTF-8, пример данных (ключ и значение) произвел тот же результат, что и в PHP. Это означает, что функция Обновленный код для генерации подписи выглядит так:
Альтернативные замечания и исправленияВ коде
Исправленный код
Важно отметить, что в ответ от Amazon ожидается XML, поэтому лучше возвращать ответ как ЗаключениеПроблема с генерацией подписи для Amazon MWS в Delphi XE7 и Indy была вызвана некорректным использованием кодировки UTF-16LE. Переключение на UTF-8 в функции Пользователь сталкивается с проблемой несоответствия подписей при работе с Amazon MWS из-за неверной кодировки в Delphi XE7, которую решает обновление Indy и корректное использование кодировки UTF-8. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Шифрование ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |