Visão Geral da Arquitetura
Os webhooks do CertOps notificam seus sistemas em tempo real sobre mudanças no estado dos certificados, tais como avisos de expiração (janela de 30d, 15d, 7d e 3d), sucesso na renovação atômica ou falhas em testes de sintaxe de servidores web. Cada requisição é assinada criptograficamente com HMAC-SHA256 para garantir autenticidade e imunidade contra ataques de repetição (replay attacks).
Headers de Assinatura & Entrega
| Header | Descrição |
|---|---|
X-CertOps-Signature |
Assinatura hexadecimal HMAC-SHA256 calculada sobre o timestamp concatenado com o body JSON bruto. |
X-CertOps-Timestamp |
Timestamp UNIX em segundos do momento do disparo (tolerância máxima aceitável: 300 segundos). |
X-CertOps-Event |
Identificador do tipo de evento emitido (ex: certificate.renewed, certificate.expiring_soon). |
X-CertOps-Delivery-Id |
UUID único do evento para implementação de deduplicação e idempotência no receptor. |
Catálogo de Eventos Notificáveis
Disparado quando a validade atinge limiares críticos configurados no tenant (30d, 15d, 7d, 3d, 1d).
Disparado após emissão ACME, validação de sintaxe e reload bem-sucedido do servidor de aplicação.
Alerta de falha em desafio ACME ou rejeição de sintaxe (com rollback preventivo acionado).
Detectada divergência de certificado entre o inventário gerenciado e o endpoint de produção.
Lógica de Verificação da Assinatura
Para validar a assinatura: concatene o timestamp e o body bruto no formato '${timestamp}.${rawBody}'. Calcule o HMAC-SHA256 utilizando seu webhook secret compartilhado. Compare a assinatura resultante com o header X-CertOps-Signature utilizando comparação segura em tempo constante (timing-safe).
Exemplos de Implementação
Pronto para automatizar a infraestrutura TLS da sua organização?
Crie sua conta corporativa ou conecte seu primeiro agente Linux para inventário contínuo.