1001Ferramentas
☁️Dev

AWS SigV4 Canonical Preview

Monta canonical request preview (Signature v4) — útil para depurar 403 SignatureDoesNotMatch.

Canonical Request

A requisição canônica que a assinatura da AWS usa

A assinatura versão 4 da AWS não assina a requisição diretamente: ela monta primeiro uma forma canônica, um texto com método, caminho, parâmetros, cabeçalhos e resumo do corpo em ordem e formato fixos. É esse texto que entra no cálculo. Quando a assinatura não confere, o problema quase sempre está na construção dessa forma canônica, e não na criptografia.

Preencha os campos e a página mostra o texto canônico resultante. Ele serve para comparar com o que a sua biblioteca está gerando — a AWS informa a forma canônica que ela calculou na mensagem de erro de assinatura inválida, e comparar as duas linha a linha localiza a divergência em segundos.

Vale ser claro sobre o alcance: esta é uma pré-visualização da estrutura, com cabeçalhos assinados fixos e o corpo declarado como não assinado. A forma canônica completa exige normalizar o caminho, codificar cada parâmetro segundo regras próprias, ordenar os parâmetros por nome e os cabeçalhos por nome em minúsculas, além de colapsar espaços nos valores. Esses passos de normalização são justamente onde as implementações caseiras erram.

Perguntas frequentes

Por que minha assinatura não confere?
Na maioria das vezes, ordenação ou codificação. Parâmetros precisam vir ordenados por nome, com nome e valor codificados; cabeçalhos assinados vão em minúsculas e ordenados, com espaços internos colapsados. A mensagem de erro da AWS traz a forma canônica esperada — comparar é o caminho mais rápido.
O que é o corpo não assinado?
É um valor especial usado no lugar do resumo do corpo quando não se quer calcular o hash do conteúdo, permitido para envio ao armazenamento de objetos sobre HTTPS. Fora desse caso, o valor correto é o resumo do corpo, e o corpo vazio tem um resumo específico e bem conhecido.
A ordem dos cabeçalhos assinados importa?
Importa muito: a lista precisa estar em ordem alfabética, em minúsculas, separada por ponto e vírgula, e precisa corresponder exatamente aos cabeçalhos que aparecem no bloco acima dela. Divergência entre a lista e o bloco é uma das causas mais comuns de assinatura inválida.

Ferramentas Relacionadas