Webhook Signature & Payload テスター

地元のCrypto

プロバイダプリセットとテストケースを使用して、バイト単位で正確なWebhook HMAC署名を生成・検証します。

Payload、Secret、およびサインはメモリに留まります この静的なツールは公開のWebhooksを受け取らない。

{
  "action": "opened",
  "repository": {
    "id": 1296269,
    "full_name": "nobuf/example"
  }
}

UTF8 バイト

99

JSON

JSONの有効性

イベントタイプ

ID

サイン証明

正確なWebホーク証拠を確認する準備
テストサインを作成するか、捕獲されたプロバイダーヘッダーを貼り付け、その後確認を実行します。

ネガティブ試験マトリックス

サーバー検証例

// Read raw request bytes before JSON parsing. Never log the secret.
const crypto = require('node:crypto')
const signed = rawBody
const expected = crypto.createHmac('sha256', secret).update(signed, 'utf8').digest('hex')
// Compare decoded bytes with crypto.timingSafeEqual after validating lengths.

使い方

  1. 01

    サインシステムを選択

    プロバイダープレセットまたは一般的なHMACアルゴリズムを選択し、サインの秘密をブラウザメモリにのみ保持します。

  2. 02

    正確な証拠

    変更されていない UTF-8 パイロット、サインヘッダー、およびタイムスタンプを開き、フォーマットされた JSON を別々に保ちます。

  3. 03

    検証・再生

    サインと再生チェックを検証し、決定的なネガティブなケースを実行し、秘密のないレポートをエクスポートし、サーバーの確認コードをコピーします。

よくある質問

このページは公開ウェブホークを取得できますか?

静的なブラウザツールには公開サーバーエンドポイントがありません. キャプチャされた証拠を現地で確認し、受信者側のコードを再生するのに役立ちます。

なぜJSONのフォーマットが有効なサインを破るのか?

ホワイトスペース、ラインエンド、キーオーダー、または暗号化の変更は、パルセッドJSON値が同等に見える場合でも異なるHMACを作成します。

秘密と支払いはアップロードまたは保存されていますか?

Web Crypto はローカルで動作し、ワークスペースは秘密、支払い、またはサインを継続的なブラウザストレージに置かない。

有効な署名は再演攻撃を防ぐのか?

タイムステンプのプロバイダーは、サーバー側の寛容チェックと持続可能なイベントまたは配達IDのデドプリケーションをあなたのアプリケーションに必要とします。

ほかの用途特化型ブラウザツールもお試しください。

すべてのツール