Utilo

HTTP-Signaturrechner

Berechnen und debuggen Sie API-Signaturen Schritt für Schritt: AWS Signature V4, Alibaba Cloud ACS3, Tencent Cloud TC3-HMAC-SHA256 und OAuth 1.0a – und prüfen Sie Webhook-Signaturen von GitHub, Stripe und Slack. Alles lokal mit Web Crypto.

Was dieser HTTP Signaturrechner tut

"Die von uns berechnete Anforderungssignatur stimmt nicht mit der von Ihnen bereitgestellten Signatur überein" ist einer der frustrierendsten Fehler in der API-Arbeit, weil der Server Ihnen nie sagt, welcher Schritt falsch gelaufen ist. Dieser Rechner reproduziert den gesamten Signaturprozess für AWS Signature Version 4, Alibaba Cloud ACS3-HMAC-SHA256, Tencent Cloud TC3-HMAC-SHA256 und OAuth 1.0a HMAC-SHA1 und zeigt jeden Zwischenwert: die kanonische Anfrage, ihren Hash, die zu signierende Zeichenfolge, den abgeleiteten Signaturschlüssel und die endgültige Signatur und Kopfzeilen. Es überprüft auch eingehende webhook Signaturen von GitHub, Stripe und Slack. Alle Kryptographie verwendet die Web-Crypto-API des Browsers, so dass Ihre geheimen Schlüssel auf Ihrem Gerät bleiben.

So verwenden Sie es

  1. Wählen Sie die Anbieter-Tab.
  2. Geben Sie die Methode, die URL, die Header (ein Name: value pro Zeile) und den Körper genau so ein, wie Ihr Code sie sendet.
  3. Geben Sie den Zugangsschlüssel, den geheimen Schlüssel und gegebenenfalls die Region und den Dienst ein. Klicken Sie auf Use current time oder stecken Sie einen festen Zeitstempel ein, um ihn mit einer erfassten Anfrage zu vergleichen.
  4. Vergleichen Sie jeden Schritt mit dem, was Ihr SDK oder Code protokolliert. Der erste Schritt, der sich unterscheidet, ist, wo sich der Käfer befindet.
  5. Bei Webhooks fügen Sie den Rohanforderungskörper Byte-für-Byte, den Signaturheader und Ihr Signaturgeheimnis ein, und das Tool sagt Ihnen, ob er übereinstimmt.

Häufige Ursachen für Unterschriftsausfälle

  • Kanonische URI-Codierung: AWS kodiert jedes Pfadsegment; S3 kodiert nicht doppelt.
  • ** Abfrageanordnung:** Parameter müssen nach dem verschlüsselten Schlüssel sortiert werden, und leere Werte benötigen immer noch =.
  • ** Unterschriebene Überschriften:** Die Überschriftennamen sind klein geschrieben, geschnitten, sortiert und mit ; verbunden. Es ist üblich, host oder x-amz-date zu vergessen.
  • ** Payload-Hash:** S3 benötigt den x-amz-content-sha256-Header; andere Dienste hashen nur den Körper.
  • Uhrverschiebung: Die meisten Anbieter lehnen Anfragen ab, die mehr als 515 Minuten abweichen.
  • Webhooks: Frameworks analysieren und serialisieren oft JSON, bevor Sie es sehen. Überprüfen Sie gegen die Roh-Bytes, nicht gegen ein neu codiertes Objekt. Streifenzeichen timestamp.body, Slackzeichen v0:timestamp:body.

Häufige Fragen

Ist es sicher, meinen geheimen Schlüssel einzugeben?

Die Seite führt alle Berechnungen lokal mit Web Crypto durch und sendet nichts. Für Produktionsgeheimnisse bevorzugen wir vorübergehende Anmeldeinformationen oder einen Testschlüssel.

Wurde die AWS-Implementierung getestet?
  • Ja, das ist es. Es reproduziert die Beispielsignaturen aus der AWS Signature Version 4-Dokumentation, die Teil der automatisierten Tests der Website sind.
Unterstützt es AWS SigV4A oder vorgegebene URLs?
  • Noch nicht. SigV4 mit Kopfzeilen wird unterstützt; die vorgegebene Abfrage-String-Signatur ist auf der Roadmap.
Warum braucht OAuth 1.0a meine Körperparameter?

Bei Formular-codierten Körpern sind die Parameter Teil der Signatur-Basiszeile. JSON-Body sind nicht enthalten.

Ja. Die gesamte Verarbeitung erfolgt direkt in deinem Browser mit JavaScript, Web Workern und Web-APIs. Nichts, was du eingibst, einfügst oder hochlädst, wird an unsere Server gesendet.

Diese Seite wurde automatisch aus dem Englischen übersetzt. Wenn dir ein Fehler auffällt, sag uns bitte Bescheid.