Проверка подписи вебхуков

Проверяйте подписи GitHub, Stripe, Slack, Shopify и Standard Webhooks и узнавайте, почему они не сходятся

Ввод

Хранится только в памяти. Никогда не сохраняется, не записывается в журналы и не отправляется.

По одной строке «Имя: значение» или JSON-объект. Регистр имён не важен.

Обязательные заголовки

  • X-Hub-Signature-256Нет

Текстовые поля превращают переводы строк CRLF в LF. Если важны точные байты, вставьте тело в Hex или Base64 либо загрузите его из файла.

Вставить исходный HTTP-запрос

Строка запроса, заголовки, пустая строка, затем тело.

Результаты

Пока нечего проверять
Введите секрет подписи, заголовки и исходное тело или загрузите пример.

Подробности

Шаги проверки появятся здесь, когда данные будут заполнены.
Что проверяет инструмент

Вставьте доставку вебхука (секрет подписи, заголовки и точное исходное тело), чтобы пересчитать подпись по правилам самого провайдера: X-Hub-Signature-256 от GitHub, подписи Slack v0 с меткой времени запроса, HMAC в Base64 от Shopify, подписи Stripe t= и v1= (во время смены секрета может совпасть любая v1), webhook-id, webhook-timestamp и webhook-signature из Standard Webhooks и Svix, а также настраиваемый произвольный HMAC. Действительность подписи и актуальность метки времени показываются отдельно.

Почему проверка не проходит

Подпись покрывает точные байты. Если подпись не совпала, инструмент пробует типичные ошибки и называет первую совпавшую: добавленный или потерянный перевод строки в конце, преобразование CRLF или LF, JSON, разобранный и сериализованный заново, пробелы вокруг секрета, секрет whsec_ без декодирования из Base64 или схема другого провайдера. Отсутствующие заголовки, подписи неверного формата и старые или будущие метки времени получают отдельные замечания.

Точные байты

Проверка всегда использует исходное тело; форматированный просмотр только для отображения. Текстовые поля превращают CRLF в LF, поэтому, если важны точные байты, вставьте тело в Hex или Base64 либо загрузите его из файла. Принимаются тела до 5 MB и секреты до 64 KB.

Конфиденциальность и ограничения

Всё выполняется в вашем браузере с помощью Web Crypto. Секрет хранится только в памяти и никогда не сохраняется, не попадает в URL, журналы и не отправляется; запоминаются только провайдер и допуск. Инструмент не повторяет запросы, не связывается с провайдерами и не проверяет асимметричные подписи, например Standard Webhooks v1a (Ed25519).

CodingTool официально запущен на

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch