Зафиксируйте время
Метка UTC заполняется при открытии страницы только один раз; кнопка «Сейчас» обновляет её вручную. Публичный пример S3 сначала показывает предварительный просмотр замены полей.
Облачные инструменты
Введите фактические поля запроса и проследите создание подписи в заголовке.
Вычисление в браузере без отправки запроса. Используйте тестовые, а не рабочие секретные ключи.
Введите URL запроса.
Токен скрыт в отчёте; по скрытому каноническому запросу нельзя повторить расчёт.
Ошибка SignatureDoesNotMatch не всегда означает неверный ключ. Отладка подписи AWS SigV4 показывает канонический запрос с путём, параметрами, заголовками и хешем тела, чтобы сравнить его с ожидаемым значением сервиса.
В опубликованном примере S3 есть фиктивные ключи, фиксированное время и известная подпись. Вычисление остаётся в браузере и не проверяет разрешения IAM или доступность ресурса.
Вместо догадок о ключах сравните конкретные байты запроса.
Отладка подписи AWS SigV4 сортирует имена и значения параметров после кодирования, сохраняет повторы и нормализует пробелы заголовков. Разница между `+` и `%20` сразу видна в каноническом запросе.
Показаны SHA-256 канонического запроса, область действия ключа и строка для подписи. Вставьте эталонный канонический запрос, и отладка подписи AWS SigV4 выделит первую отличающуюся строку даже без секретного ключа.
Метка UTC заполняется при открытии страницы только один раз; кнопка «Сейчас» обновляет её вручную. Публичный пример S3 сначала показывает предварительный просмотр замены полей.
Запустите расчёт вручную или нажмите Ctrl/Cmd+Enter. Сверьте URI, отсортированные параметры, нормализованные заголовки и хеш тела. Для S3 значение x-amz-content-sha256 определяется выбранным режимом.
Канонический запрос можно сравнить без ключа. Только итоговая подпись требует одноразовых тестовых данных. Общий отчёт скрывает Session Token; точный текст канонического запроса копируется отдельно.
Метод, URI, отсортированные параметры, заголовки, SignedHeaders и хеш тела собираются по правилам SigV4. Повторные параметры остаются; `+` кодируется как `%2B`, а не превращается в пробел.
Показаны SHA-256 канонического запроса и область date/region/service/aws4_request. Неверный регион меняет и строку для подписи, и производный HMAC-ключ.
Структуру можно исследовать без секрета. С одноразовой парой ключей локально вычисляются Signature и Authorization; секрет и промежуточные ключи не показываются.
Канонический запрос сверяется построчно, 64-символьная шестнадцатеричная подпись — по значению. Совпадение в браузере не доказывает, что AWS примет запрос.
Сначала сравните канонический запрос клиента с ожидаемым текстом в ответе AWS. Отладка подписи AWS SigV4 укажет первую отличающуюся строку; проверьте кодирование пути, порядок параметров, подписанные заголовки и хеш тела.
Укажите метод, URL, заголовки и текст тела, затем запустите расчёт. Сравните полученный канонический запрос с журналом SDK или ошибкой сервиса. Секретный ключ для этого не требуется.
Да. Изменение хоста, пути, параметров, подписанного заголовка или тела после подписания приводит к другому значению у сервиса. По возможности сравните запрос до и после прокси.
Да. Оба значения входят в область действия и цепочку получения HMAC-ключа. Проверьте фактический регион и код сервиса для используемой конечной точки.
Не обязательно делать такой вывод только по тексту ошибки: поведение зависит от сервиса. Этот инструмент не обращается к AWS и не знает политику IAM; изучите журналы и диагностику прав.
Остались вопросы?
Сначала проверьте опубликованный тестовый вектор S3, затем сравните свой непроизводственный запрос. Отладка подписи AWS SigV4 не отправляет его в сеть.