Verificação HMAC: Como Identificar e Solucionar Problemas na Integração
A verificação HMAC é um mecanismo de segurança que garante que as informações de um webhook foram enviadas pela D4Sign e não sofreram alterações no caminho. Se a verificação do seu sistema estiver falhando, o problema geralmente está no processo de validação.
Siga este guia para diagnosticar e solucionar o problema:
Passo 1: Capture o HMAC da D4Sign
Para começar, capture o webhook recebido da D4Sign em um "Request Catcher" ou em seu sistema. Você obterá algo semelhante a isso:
textContent-Hmac: sha256=eb92e2b8867111d31d1101ae2ee88c94b471fa9974111d0ce412697c5f2ca6cd
Content-Length: 500
O textContent-Hmac
é a assinatura que você precisa validar.
Passo 2: Valide o HMAC com uma Ferramenta Externa
Agora, vamos confirmar se o HMAC que a D4Sign enviou está correto. Para isso, use uma ferramenta externa de validação:
-
Acesse o HMAC Generator/Tester no site:
https://www.freeformatter.com/hmac-generator.html
-
Copie o conteúdo (corpo) do webhook que você recebeu.
-
Copie a chave secreta da sua integração na D4Sign.
-
No site, cole o conteúdo no campo "Input String" e a chave secreta no campo "Key".
-
Clique em "Generate".
Passo 3: Compare os Resultados
Compare o HMAC gerado pela ferramenta externa com o HMAC recebido no webhook da D4Sign.
-
Se os códigos coincidirem: Isso confirma que a D4Sign enviou o HMAC correto. O problema está na lógica de cálculo do HMAC em seu sistema.
-
Se os códigos não coincidirem: O problema pode estar em um erro de digitação na chave secreta ou em um problema de codificação.
Possíveis Causas de Erro em Seu Sistema
Se a ferramenta externa validou o HMAC, mas seu sistema não, verifique os seguintes pontos:
-
Configuração da Requisição: Certifique-se de que os parâmetros e a chave secreta estão sendo utilizados corretamente no seu código.
-
Ambiente de Integração: Inconsistências na codificação de caracteres ou na manipulação do conteúdo do webhook podem levar a erros no cálculo.
-
Logs Detalhados: Analise os logs do seu sistema para identificar divergências entre o conteúdo recebido e o HMAC que está sendo gerado.
-
Restrições de Rede (Firewall): Considere que o seu firewall ou regras de segurança da rede podem estar bloqueando as requisições do webhook. Verifique se os IPs dos servidores da D4Sign estão na sua lista de permissões (whitelist).
Se, após seguir este guia, a validação externa for bem-sucedida, mas a do seu sistema não, por favor, nos envie uma captura de tela do teste realizado no freeformatter.com
para que nossa equipe possa investigar o problema em seu código.
Para mais informações, siga o artigo abaixo: