BroadNet
Protocolos Resposta da BroadNet

HMAC-SHA256 para assinatura de webhook DLR — como e porquê

Última revisão 2 min de leituraRevisado pela equipa de engenharia BroadNet
Resposta rápida

HMAC-SHA256 é a primitiva criptográfica que toda plataforma de mensagens moderna usa para assinar webhooks de relatório de entrega e de mensagens recebidas. A plataforma calcula um hash com chave sobre o corpo da requisição usando um segredo partilhado; o seu endpoint recalcula o mesmo hash e compara os resultados. Isso prova que o webhook veio da plataforma — e não de alguém que adivinhou o seu URL — e que o corpo da mensagem não foi adulterado durante a transmissão.

Definição em linguagem simplesneutro em relação ao fornecedorRevisado 24 de setembro de 2026
A resposta longa

Tudo o que vale a pena saber, nada do que não vale.

§01

Como a assinatura é construída

Uma construção comum forma a string canónica como `${timestamp}.${requestBody}`, calcula `HMAC-SHA256(canonical, secret)`, codifica o resultado em hexadecimal e envia o digest e o timestamp num cabeçalho de assinatura. Incluir o timestamp no payload assinado impede ataques de repetição — o seu endpoint deve rejeitar webhooks com mais de 5 minutos. Os nomes dos cabeçalhos e o formato canónico exato variam entre plataformas, então confirme-os com o seu fornecedor antes de escrever o código de verificação.

§02

Porque usar assinaturas HMAC em vez de RSA?

O HMAC é simétrico — ambos os lados partilham um segredo — o que significa que a assinatura e a verificação são aproximadamente 10.000 vezes mais rápidas do que o RSA-2048. Para o envio de dados via webhook, onde um único SMSC pode emitir 50.000 DLRs por segundo, a assinatura RSA domina o uso da CPU. O HMAC-SHA256 em hardware moderno leva apenas alguns microssegundos. A contrapartida: qualquer pessoa com o segredo pode assinar, por isso o segredo deve ser partilhado apenas entre a plataforma e o seu ambiente, armazenado como qualquer outra credencial e poder ser rotacionado a pedido.

§03

Armadilhas da verificação

Três bugs comuns. Comparar strings com `==` em vez de uma comparação de tempo constante (ataque de temporização — use `crypto.timingSafeEqual`). Validar a assinatura após analisar o corpo da requisição JSON (você deve verificar os bytes brutos, não uma representação serializada — reordenar o JSON quebra o hash). Esquecer a janela anti-replay do timestamp.

§04

Além do HMAC

Para ambientes regulados (bancos, saúde), algumas plataformas também oferecem entrega de webhooks por mTLS — o remetente apresenta um certificado de cliente que o seu balanceador de carga valida antes de a requisição chegar à aplicação. Isso é mais forte que HMAC porque vincula a entrega a uma chave de hardware, mas só compensa o custo em cargas de trabalho realmente sensíveis. Para a maioria das integrações, HMAC-SHA256 sobre HTTPS é a resposta certa.

BNEscrito pela equipa de engenharia BroadNet·Serviços de mensagens de nível de operadora desde 2003, com sede no Dubai.·Padrões editoriais
Construa com isto

Precisa de ajuda para instalar isso?

As páginas abaixo contêm os produtos e guias de integração que colocam este conceito em prática. Se preferir uma demonstração ao vivo, a nossa equipa de engenharia está disponível para atendimento no mesmo dia, durante o horário comercial MENA .

Fale com a nossa equipa de engenharia.
Opinião

Essa resposta foi útil?

O seu voto nos ajuda a priorizar quais respostas devem ser expandidas com exemplos, diagramas e trechos de código.

Essa resposta foi útil?
Obrigado — anotado. Manteremos esta resposta atualizada.
Entendi. Diga-nos o que estava a faltar. Envie uma mensagem rápida.

Como escrevemos e revemos os conteúdos

Ainda precisa de ajuda?

Converse com um engenheiro de verdade sobre a sua construção.

Respondemos no prazo de um dia útil, e as contas de produção têm suporte 24 horas por dia, 7 dias por semana. Os nossos engenheiros de soluções entregam código, não scripts.

$ curl -X POST https://api.broadnet.me/sms/sendSms
SLA de resposta
Solicitações de acesso de testeResposta em até 1 dia útil
Produção24 / 7 · < 15 min
NOC de operadoras24 / 7 · plantão