什麼是RSA金鑰產生器?

使用Web Crypto API私密產生RSA金鑰對。支援1024到4096位元金鑰長度,以PEM格式匯出,適用於SSH連線、TLS憑證、JWT簽章和加密通訊。您的私鑰不會離開您的裝置。

Web Crypto API 在你的裝置上完成全部繁重運算——金鑰絕不外傳。可選 1024、2048、3072 或 4096 位元,並決定金鑰對用於加密(RSA-OAEP)還是簽章(RSASSA-PKCS1-v1_5)。支援四種匯出格式:PEM PKCS#8(現代預設)、PEM PKCS#1(傳統 RSA 格式)、供 JWT 與 OIDC 堆疊使用的 JWK,或可直接貼進 authorized_keys 的 OpenSSH ssh-rsa 一行。SHA-256 指紋可用來與伺服器記錄核對。也可為私鑰設定密語,將其封裝為符合標準的 EncryptedPrivateKeyInfo(PBES2 + PBKDF2-HMAC-SHA256 + AES-256-CBC),日後以 openssl pkcs8 解密。若只保留了私鑰,可在「推導公鑰」分頁貼上它來還原對應的公鑰。

使用方法

  1. 選擇RSA金鑰長度(正式環境建議使用2048或4096位元)。
  2. 選擇輸出格式(PKCS#8、PKCS#1、JWK 或 OpenSSH),並可選擇設定密語來加密私鑰,然後按下產生,即可在你的裝置上建立金鑰對。
  3. 依你所選的格式複製或下載公鑰與私鑰。

何時使用

  • 在不允許把私鑰交給第三方的專案裡簽發 JWT。
  • 為單元測試、預發環境或 CI runner 產生一次性密鑰對。
  • 為新的 SSH 使用者或新進員工入職單核發一把全新的金鑰。

結果

產生4096位元RSA金鑰對用於JWT簽章。公鑰設定在驗證伺服器中,私鑰保存在安全的本機機器上。

常見問題

該選 2048 還是 4096 位元?
2048 是目前生產環境的最低底線,多數 TLS 憑證仍在使用。4096 可多撐 10 到 20 年安全餘量,但簽章運算大約慢 5 倍。1024 在現代威脅模型已不安全,只用於與舊系統相容。
可以拿同一對金鑰同時做加密和簽章嗎?
技術上可以,但不建議。Web Crypto API 強制每對金鑰只能挑一種用途,這也符合 NIST 規範。同一把金鑰同時負責兩種運算,容易引發協定層的攻擊,輪換也更麻煩。產生兩對比較乾淨。
如何用本工具取得一把 SSH 金鑰?
選擇 OpenSSH 輸出格式(或 SSH 金鑰預設):公鑰會直接輸出為可用的 ssh-rsa authorized_keys 一行,私鑰是標準的 PKCS#8 PEM,存成 id_rsa 即可。若你已有 PEM 私鑰,也可執行 ssh-keygen -y -f id_rsa > id_rsa.pub 來推導公鑰行,或用 puttygen --to-openssh 處理 PuTTY。兩者都可直接接受 PKCS#8 與 PKCS#1 輸入。
2026 年還該選 RSA 嗎,還是改用 Ed25519?
Ed25519 更快、金鑰僅 256 位元,目前是 SSH 與簽章的預設首選。仍選 RSA 的場景多半是需要廣泛相容:TLS 根憑證、JWT 函式庫的保守預設值、舊的 HSM、傳統 SAML,或任何尚未接受 EdDSA 的消費端。
SHA-256 指紋實際上能做什麼?
它是公鑰(SPKI 位元組)的簡短密碼學摘要。透過另一條管道(電話、Signal、當面)與對方核對指紋,可以確認你收到的金鑰就是對方真正產生的那把,沒有被替換。

相關工具