Utilo

HTTP 簽名計算器

逐步計算和除錯 API 請求籤名:AWS Signature V4、阿里雲 ACS3、騰訊雲 TC3-HMAC-SHA256、OAuth 1.0a,並校驗 GitHub、Stripe、Slack 的 Webhook 簽名。全部用 Web Crypto 在本地完成。

這個HTTP簽名計算器的功能

"我們計算的請求籤名與您提供的簽名不匹配"是API工作中最令人喪的錯誤之一,。這臺計算器可複製 AWS Signature Version 4,Alibaba Cloud ACS3-HMAC-SHA256,Tencent Cloud TC3-HMAC-SHA256 和 OAuth 1.0a HMAC-SHA1 的整個簽名過程,並顯示每個中間值:規範請求,其雜湊,簽名字串,衍生簽名金鑰以及最終簽名和頭。它還驗證了來自GitHub,Stripe和Slack的webhook簽名。所有密碼都使用瀏覽器的網路密碼API,

使用方法

  1. 選擇提供者選項卡。
  2. 輸入方法,URL,頭條 (每行一個Name: value) 和正如您的程式碼傳送它們的那樣。
  3. 輸入訪問金鑰,秘密金鑰,並酌情輸入區域和服務。點選使用當前時間或固定時間,以與捕獲請求進行比較。
  4. 讓我們對每個步驟進行比較,。首先要注意的是你的蟲子在哪裡
  5. 對於webhooks,請貼上原始請求體位元組為位元組,簽名頭和簽名密碼,

簽名不匹配的常見原因

  • 定製URI編碼: AWS編碼每個路徑段;S3不進行雙重編碼。
  • **查詢排序:**引數必須按編碼鍵排序,空值仍然需要=。
  • **簽名標題:**標題名字是小寫的,修剪,排序和加入;。忘記host或x-amz-date是很常見的。
  • **有效載荷雜湊:**S3需要x-amz-content-sha256頭;其他服務只需要雜湊機體。
  • **時鐘偏差:**大多數提供商拒絕超過515分鐘的請求。
  • **Webhooks:**框架通常在您看到JSON之前分析並重新序列。根據原始位元組進行驗證,而不是重新編碼的物件。條紋標誌timestamp.body,寬鬆標誌v0:timestamp:body。

常見問題

輸入我的金鑰安全嗎?

頁面在本地使用網路加密進行所有計算,並沒有傳送任何資訊。對於生產機密,無論如何都更喜歡臨時憑證或測試金鑰。

有沒有測試過 AWS 實現?

沒有。它複製了AWS簽名版本4文件中的示例簽名,這些簽名是網站自動測試的一部分。

它是否支援AWS SigV4A或預先簽名的URL?

現在還沒有。支援基於標題的SigV4;預先簽名的查詢字串簽名是路線圖上的。

為什麼OAuth 1.0a需要我的身體引數?

對於形式編碼的實體,引數是簽名基礎字串的一部分。沒有包含JSON體。

安全。所有處理都透過 JavaScript、Web Worker 和瀏覽器 API 在本地完成,你輸入、貼上或上傳的任何內容都不會傳送到我們的伺服器。

本頁內容由英文自動翻譯而來,如發現錯誤,歡迎告訴我們。