Для браузеров, которые используют библиотеку NSS (например, Firefox), вы можете установить переменную среды SSLKEYLOGFILE
, которая заставит NSS сохранить необходимые секреты. Затем вы можете напрямую использовать этот файл с Wireshark. Здесь содержится больше информации .
Хорошо, теперь это решено. Моя проблема была частично огромной ошибкой пользователя. Я использовал новую среду IDE, и когда я сгенерировал жестко закодированный пример, я представил, что на самом деле все еще выполняю предыдущий файл. Глупо, глупо, глупо.
Но ...
Мне удалось разобраться с реальной проблемой, которая заставила меня поднять вопрос в первую очередь. Я обнаружил, что если вы установите тип содержимого «application / json» в заголовках, пакет dart HTTP автоматически добавит «; charset = utf-8». Поскольку это значение является частью подписи auth, когда AWS кодирует значения из заголовка для сравнения с сгенерированной пользователем подписью, они не совпадают.
Исправление заключается в том, чтобы при настройке типа содержимого заголовка убедиться, что вы вручную установили для него «application / json; charset = utf-8», а не «application / json».
Нашел немного больше дискуссий об этой «ошибке» после факта здесь .