ForHosting KIT · Entwickler-Tools

Webhook-Signatur mit HMAC sicher prüfen

Die Prüfung von Webhook-Signaturen scheitert häufig an Schnittstellen: Das Framework verändert den Body, der Header wird zu großzügig ausgewertet oder ein gewöhnlicher Vergleich verrät Zeitinformationen.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Diese Funktion wandelt den HMAC-Algorithmus und Header des Anbieters in eine präzise, geordnete Prüfliste um. Payload, Geheimnis und Signatur werden nicht benötigt. Nutzen Sie das Ergebnis zur Implementierung oder Kontrolle und gleichen Sie Zeitformat, Kodierung und Replay-Toleranz mit der Anbieterdokumentation ab.

Beginnen Sie mit den signierten Bytes

Bewahren Sie vor dem Parsen exakt die empfangenen Bytes auf. Erneutes Serialisieren von JSON kann Leerraum, Reihenfolge, Escapes, Unicode oder Zeilenenden verändern. Lesen Sie den genannten Header ohne Beachtung der Großschreibung seines Namens, prüfen Sie seinen Wert jedoch streng. Folgen Sie der dokumentierten Grammatik, lehnen Sie fehlende, leere, doppelte oder fehlerhafte Werte ab und speichern Sie das Geheimnis ausschließlich geschützt.

Rekonstruieren, berechnen und vergleichen Sie korrekt

Rekonstruieren Sie die signierte Nachricht exakt: nur den Roh-Body oder Zeitstempel, Trennzeichen und Body. Beachten Sie Reihenfolge und Kodierung. Berechnen Sie HMAC mit Geheimnis und normalisiertem Algorithmus und kodieren Sie das Ergebnis wie vorgeschrieben. Dekodieren Sie beide Signaturen in gleich lange Bytefolgen und vergleichen Sie diese in konstanter Zeit. Ungültige Kodierung oder abweichende Länge bedeutet Ablehnung.

Betrachten Sie Kryptografie als Teil der Annahme

Ein passendes HMAC belegt Kenntnis des Geheimnisses, aber weder Aktualität noch Einmaligkeit. Erzwingen Sie das empfohlene Zeitfenster, speichern Sie angenommene Ereignis-IDs und verarbeiten Sie idempotent. Rotieren Sie Geheimnisse mit der dokumentierten Überlappung. Lehnen Sie vor dem Einreihen ab, antworten Sie allgemein und protokollieren Sie nur sichere Codes. Testen Sie veränderte Bodys, alte Zeitstempel, ungültige Header, falsche Geheimnisse und Replays.

Neuen Webhook-Endpunkt umsetzen

Wandeln Sie Algorithmus und Header vor der Programmierung in eine prüfbare Liste um.

Bestehende Integration prüfen

Kontrollieren Sie die Reihenfolge von Erfassung, HMAC, sicherem Vergleich und Replay-Schutz.

Sicherheitstests vorbereiten

Leiten Sie Negativtests für fehlende Header, veränderte Bodys, ungültige Signaturen, alte Zeitstempel und Replays ab.

Prüft dieses Werkzeug einen echten Webhook?

Nein. Es erzeugt Umsetzungsschritte und fragt nie nach Payload, Geheimnis oder Signatur.

Welche Algorithmen werden erkannt?

HMAC-SHA1, HMAC-SHA256, HMAC-SHA384 und HMAC-SHA512. Andere Algorithmen führen zu einem Eingabefehler.

Warum muss der Roh-Body erhalten bleiben?

Parsen und erneutes Serialisieren kann die Bytes ändern und eine gültige Signatur entwerten.

Verhindert ein gültiges HMAC Replay-Angriffe?

Nein. Prüfen Sie signierte Zeitstempel und deduplizieren Sie vorhandene Ereignis-IDs.

Soll ich das Webhook-Geheimnis übermitteln?

Nein. Nur Algorithmus und Header sind nötig; bewahren Sie das Geheimnis geschützt auf.

Was kostet eine API-Anfrage?

Jede Anfrage kostet $0.002. Die deterministische Browser-Ausführung übermittelt keine Geheimnisse.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/security/webhook-signature-verify-steps

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/security/webhook-signature-verify-steps \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"algorithm":"HMAC-SHA256","header_name":"X-Webhook-Signature"}'
{
  "algorithm": "HMAC-SHA256",
  "header_name": "X-Webhook-Signature"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "security.webhook_signature_verify_steps",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Vollständige KIT-Dokumentation lesen →