JWK 產生器 — 轉換 PEM 與 JWK 並產生 JWKS

在 PEM 與 JWK 格式間產生與轉換密鑰,用於安全簽章與加密。

輕量 JWK 產生器完全在瀏覽器執行—密鑰不離開您的裝置。可將 PEM 轉 JWK、JWK 轉 PEM,或產生新密鑰並匯出 JWKS 供 jwks_uri 使用。了解更多: 什麼是 JWKS
原始碼請見: https://github.com/authgear/authgear-widget-jwk-generator

PEM 轉 JWK
貼上 PEM 金鑰或 X.509 憑證,設定 kid、選擇 alg 與 use(sig/enc),再按產生 JWK。可將 JWK 加入 JWKS 或直接給 JOSE 函式庫使用。
JWK 轉 PEM
貼上 JWK JSON 並匯出 PEM,供 CLI、伺服器或傳統工具使用,同時在 JWK 集中保留 kid、alg、use 等後設資料。
產生 JWK
以產生模式建立新金鑰:選擇用途(簽章 sig 或加密 enc)、金鑰類型(RSA、EC、OKP 或 oct)與參數。可輸出單一 JWK 或完整 JWKS(jwks.json)。

JWK 產生器如何運作

步驟 1.
在 PEM 與 JWK 之間轉換:
  • 貼上 PEM 金鑙以轉成 JSON Web Key,或反向轉換。
  • 複製轉換結果供應用程式使用。
  • 為何需要 PEM → JWK?許多平台與身分系統使用 JWK/JWKS;轉換後可供 JWT 驗證與讀取 jwks.json 的服務使用。
步驟 2.
產生新金鑰:
  • 選擇用於簽章或加密。
  • 依安全需求選擇金鑰類型(對稱 oct、RSA、橢圓曲線 EC 或 OKP)。
  • 選擇符合系統的演算法(例如 RSA 簽章用 RS256)。
  • 產生結果—對稱:
  • a. 密鑰字串 + JWK JSON。
  • b. 非對稱:PEM 格式私鑰與公鑰 + 對應 JWK。
步驟 3.
安全使用金鑰:
  • 用於簽章或加密 JWT。
  • 在授權伺服器託管 JWK 集以供金鑰探索。
  • 定期輪換與管理金鑰以維持安全。

什麼是 JWK (JSON Web Key)?

JWK 是以 JSON 表示密碼金鑰的結構;JWKS 則是含 keys 陣列的物件。身分提供者常以 JWKS 在 jwks_uri 公開公鑰供驗證 JWT(RFC 7517)。
機器可讀的 JSON,易於在 Web API 使用
支援對稱與非對稱金鑰類型
便於現代應用輪換與管理金鑰

什麼是 PEM

PEM 是常見的 base64 編碼格式,用於儲存與分享密鑰與憑證。PEM 轉 JWK 後可供 JWKS 端點與 JOSE 函式庫使用。

最佳實踐

勿在正式環境使用此處產生的私鑰;正式環境請在 HSM 或 KMS 產生與保管。
使用適當金鑰長度與現代演算法(例如支援時選 Ed25519)。
以 HTTPS 在穩定的 jwks_uri 託管 JWKS,並安全輪換—以新 kid 發布並移除舊金鑰。
在 JWK 中包含 kid 與 alg,方便客戶端選擇正確金鑰驗證 JWT。