Ferramentas de nuvem

depurar assinatura AWS SigV4

Informe os campos exatos da requisição e acompanhe o cálculo da assinatura no cabeçalho.

depurar assinatura AWS SigV4

Entrada da requisição

Cabeçalhos extras (um por linha)

Corpo de texto (UTF-8)

Resultado da assinatura

Cálculo no navegador, sem enviar chamadas. Use credenciais de teste, nunca segredos de produção.

Opções e referências

Horário UTC

Solicitação canônica de referência

Informe uma URL para começar.

O relatório oculta Session Token; a solicitação ocultada não recalcula a assinatura.

SignatureDoesNotMatch nem sempre indica uma chave incorreta. Para depurar assinatura AWS SigV4, compare a solicitação canônica formada pelo caminho, pela consulta, pelos cabeçalhos e pelo hash do corpo com o valor esperado pelo serviço.

O exemplo S3 publicado pela AWS usa credenciais fictícias e horário fixo. O cálculo é local: a página não testa permissões IAM nem a resposta do endpoint.

Por que depurar assinatura AWS SigV4 aqui

Transforme um erro 403 em diferenças de texto verificáveis.

Enxergue codificação e ordenação

Ao depurar assinatura AWS SigV4, os nomes e valores da consulta são codificados antes da ordenação, parâmetros repetidos permanecem e espaços dos cabeçalhos são normalizados. Diferenças entre `+` e `%20` aparecem na solicitação canônica.

Parâmetros repetidos e cabeçalhos são ordenados na solicitação canônica sem alterar as barras do caminho.

Siga cada etapa até a assinatura

O SHA-256 da solicitação canônica, o escopo e a string para assinar aparecem separadamente. Cole uma referência para encontrar a primeira linha diferente, mesmo sem informar uma chave de teste.

Solicitação canônica, hash e string para assinar seguem até uma assinatura local comparada com a referência.

Reproduza uma requisição com valores fixos

01

Congele o horário

O horário UTC é preenchido uma vez ao abrir a página; o botão Agora o atualiza somente quando solicitado. O exemplo público do S3 traz uma assinatura conhecida e mostra uma prévia antes de substituir seus dados.

02

Confira a normalização antes do HMAC

Execute manualmente ou pressione Ctrl/Cmd+Enter. Analise URI, consulta ordenada, cabeçalhos normalizados e hash do corpo. Para S3, x-amz-content-sha256 segue o modo de payload escolhido.

03

Compare sem expor segredos

A solicitação canônica pode ser confrontada sem uma chave. Só a assinatura final exige credenciais de teste descartáveis. O relatório geral oculta Session Token; copiar o texto exato é uma ação separada.

O que o caminho da assinatura mostra

Seis partes da solicitação canônica

Método, URI, consulta ordenada, cabeçalhos canônicos, SignedHeaders e hash do corpo são concatenados. Chaves de consulta repetidas permanecem, e `+` vira `%2B`, não um espaço de formulário.

String para assinar e escopo

Veja o SHA-256 da solicitação canônica e o escopo data/região/serviço/aws4_request. Uma região errada muda tanto a string para assinar quanto a chave HMAC derivada.

Assinatura de teste opcional

Sem segredo, a análise estrutural funciona. Com um par de chaves de teste descartáveis, Signature e Authorization são calculados localmente, sem exibir a chave secreta ou chaves intermediárias.

Primeira diferença da referência

Compare uma solicitação canônica linha por linha e uma assinatura hexadecimal de 64 caracteres por valor. O diagnóstico não prova que a AWS aceitaria a requisição.

Limites do cálculo local

Apenas cabeçalho Authorization
Calcula AWS4-HMAC-SHA256 para Authorization. URLs pré-assinadas, SigV4a, V2, uploads em blocos e importação de cURL ou HAR não são contemplados.
Sem validação pela AWS
Nenhuma chamada vai para a AWS ou para a URL informada. HMAC de teste igual não confirma credenciais válidas, permissão IAM nem os bytes que chegam após um proxy.
Caminho e corpo sem correção implícita
Caminhos de objetos S3 não são normalizados. Segmentos de ponto ambíguos e barras codificadas geram erro. O hash considera apenas o texto UTF-8 colado, não arquivos ou fluxos.
Token temporário é sensível
Session Token entra em x-amz-security-token e pode aparecer na solicitação canônica exata. O relatório geral o oculta e, por isso, não serve para recalcular a assinatura.

Perguntas para depurar assinatura AWS SigV4

Como soluciono incompatibilidade de assinatura SigV4 com IAM no API Gateway?

Compare primeiro a solicitação canônica do cliente com o valor no erro da AWS. Para depurar assinatura AWS SigV4, localize a primeira linha diferente e confira codificação da URI, ordem da consulta, cabeçalhos assinados e hash do corpo.

Por que a assinatura calculada pela AWS não corresponde à enviada?

Um proxy pode modificar caminho ou cabeçalhos depois da assinatura. Verifique também horário, região, serviço e o par de chaves de teste. O cálculo local não substitui logs do serviço.

Posso verificar a solicitação canônica sem chave secreta?

Sim. Solicitação canônica, SHA-256 e string para assinar podem ser reconstruídos sem segredo. O HMAC final exige a chave correspondente; sem ela, nenhuma assinatura fictícia é mostrada.

A região errada altera a assinatura SigV4?

Sim. A região integra o escopo da credencial e a derivação da chave HMAC. Ajustá-la muda a string para assinar e a assinatura final; confira a região real do endpoint ou bucket.

Um proxy pode mudar os cabeçalhos assinados?

Pode. Se Host, outro cabeçalho assinado, caminho, consulta ou corpo mudar no trânsito, a assinatura calculada pelo serviço será diferente. Compare a requisição antes e depois do proxy quando possível.

Ficou alguma dúvida?

Depurar assinatura AWS SigV4 agora

Comece pelo vetor público do S3 e depois compare sua requisição de teste. É possível depurar assinatura AWS SigV4 aqui sem enviar a chamada.