跳至內容
JWT 與金鑰

JWKS 產生器

產生 RSA 2048 位元金鑰配對並管理 kid,
建立僅包含公鑰的 JWKS(JSON Web Key Set)。
也可使用產生的私鑰建立 RS256 簽名的 JWT,
檢視內容並一鍵複製金鑰、JWKS 或權杖。

指南: 使用方式與特色

  • 如需自訂 kid,可先輸入,然後點擊「Generate 2048-bit RSA keys」產生金鑰與 JWKS。
  • 公開金鑰可作為 JWKS(JSON Web Key Set)複製,私鑰則以 PKCS#8 PEM 格式保存。
  • 編輯 payload JSON 後點擊「Create JWT」,即可產生 RS256 簽署的權杖。

範例: 輸入與輸出範例

Publish an RSA key

輸入範例

Algorithm: RS256
Key ID: demo-key

輸出範例

{
  "keys": [
    {
      "kty": "RSA",
      "kid": "demo-key",
      "alg": "RS256",
      "use": "sig",
      "n": "u0fKsY6LQyqQy1vny7H2X7bqY7HWe8soT0x6XPrmT5w",
      "e": "AQAB"
    }
  ]
}

FAQ: 常見問題

  • 能只抽出符合 kid 的金鑰嗎?

    可以。選擇目標 kid 後即可將該金鑰以 PEM 格式匯出。
  • 這個工具適合哪些情境?

    用來取得 JWT 驗證用的公鑰,或從多把鍵中挑出特定鍵再次使用時很方便。
  • 資料會送到伺服器嗎?

    不會。解析與轉換都在瀏覽器中完成。

使用情境: 常見的使用情境

  • Validating key sets

    Fetch JWKS endpoints to inspect kid and alg values and confirm the expected signing algorithms.

  • Checking rotation status

    See whether old and new keys coexist to catch timing gaps between issuers and verifiers.

  • Sharing debug details

    Format the fetched JSON for teammates when troubleshooting integrations with external IdPs.

注意: 注意事項與限制

  • 處理皆在瀏覽器內完成

    輸入與輸出都留在你的裝置,關閉分頁或清除快取時,暫存狀態會被移除。

  • 關鍵資料請再次確認

    結果僅供輔助,放到正式系統或對外分享前請先檢查並依需求驗證。

  • 大型資料仰賴裝置性能

    非常大的文字或檔案在部分瀏覽器可能較慢,建議重度工作時使用桌面環境。

所有處理都在本地完成,不會傳送任何金鑰。

目前的 kid -

JWKS 只包含公開金鑰。

RS256 簽名會使用產生的私鑰。

JWKS 產生器

產生用於 JWT、RS256 與 token 驗證流程的 JWKS 與測試 key。適合開發環境、認證文件與 integration test。

常見用途

  • 測試 JWT 驗證:建立 RS256 驗證資料。
  • 撰寫認證文件:產生 JWKS 範例。
  • 建立本地環境:不依賴外部 provider 也能測試。

請勿公開 private key 或敏感加密材料。測試 key 只應用於開發用途。

這個工具的相關文章

最新文章

使用案例
2026-08-07

curl 選項速查|-X、-H、-d 實際做了什麼與常見陷阱

整理實務上會遇到的 curl 選項:為什麼加了 -d 就已經是 POST、-d 與 --data-raw 的差別、開頭的 @ 會悄悄讀取檔案的陷阱、單引號與雙引號的取捨,以及為什麼 -k 和 -L 值得多想一下。

工具介紹
2026-08-06

JSON Schema 與 Zod 雙向轉換的原理|required 與 .optional() 的對應

解析雙向轉換器的實作:把 JSON Schema 轉成 Zod 結構定義,也把 Zod 程式碼轉回 JSON Schema。內容涵蓋 required 與 .optional() 預設值相反的陷阱、限制條件對照表,以及不執行程式碼就完成剖析的做法。

使用案例
2026-08-06

SQL 子句執行順序參考|為什麼 WHERE 看不到 SELECT 的別名

SQL 並不是照您撰寫的順序執行。以邏輯執行順序(FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT)為主軸,說明別名為何在 WHERE 無法使用、WHERE 與 HAVING 的分工、ONLY_FULL_GROUP_BY、COUNT(*) 與 COUNT(欄位) 的差異,以及 LEFT JOIN 搭配 WHERE 的陷阱。

使用案例
2026-08-06

unified diff 格式閱讀指南|看懂 git diff 的 @@ 標頭

說明如何閱讀 git 產生的 unified diff 格式:@@ -12,7 +12,9 @@ 四個數字的意義、只改一個字元為何顯示成整行替換、空白與換行字元的陷阱、\ No newline at end of file、合併提交的 @@@ 組合式 diff,以及以 similarity index 推斷檔案更名。

使用案例
2026-08-06

UTC⇄JST 換算參考手冊|9小時時差對照表與時區踩雷指南

以對照表整理 UTC 與日本時間(JST)的換算,並說明與台灣時間(UTC+8)相差 1 小時的關係。內容涵蓋 ISO 8601 的 Z 與 +09:00、JavaScript 日期解析悄悄位移 9 小時的條件、MySQL/PostgreSQL 的時區行為,以及 GitHub Actions cron 一律以 UTC 執行的陷阱。

使用案例
2026-08-04

CREATE TABLE 參考手冊|MySQL、PostgreSQL、SQLite 的型別與約束差異

以跨資料庫對照表整理 CREATE TABLE(DDL)的寫法:型別對應表、自動編號(AUTO_INCREMENT / IDENTITY / rowid)的方言差異、外鍵的 ON DELETE 行為,以及 MySQL 會靜默忽略的 CHECK 約束。

廣告

廣告