UTILS.
100% ブラウザ内で完結
🗝️

RSA / EC 鍵ペア生成ツール(PEMエクスポート)

WebCryptoでブラウザ内にRSAまたはEC鍵ペアを生成し、公開鍵と秘密鍵をPEMまたはJWKとしてエクスポートします。鍵はデバイスを離れません。

鍵はブラウザ内でローカルに生成されます——秘密鍵は決してアップロードされません。

— ここに結果が表示されます —
— ここに結果が表示されます —

このツールについて

RSA / EC 鍵ペア生成ツールは、ネイティブのWebCrypto API(crypto.subtle.generateKey)を使って完全にブラウザ内で非対称鍵ペアを作成し、設定ファイルやコードに実際に貼り付ける形式でエクスポートします。何もサーバーに送信・保存されません:秘密鍵はデバイス上で生成され、1回だけ表示され、ページを離れると破棄されます。これにより、SSH関連ツール、JWT署名、TLS実験、あるいは公開鍵形式がどう組み合わさるかを学ぶための鍵を安全に発行できます。

RSAでは、2048、3072、4096ビットのモジュラス長を標準の公開指数65537とともに選び、鍵が署名用(RSASSA-PKCS1-v1_5、SHA-256)か暗号化用(RSA-OAEP、SHA-256)かを選びます。楕円曲線鍵では、NIST曲線——P-256、P-384、P-521——と、署名用(ECDSA)か鍵合意用(ECDH)かを選びます。より大きなRSAモジュラスや高次の曲線は強力ですが生成が遅く、特にRSA-4096はブラウザ内で数秒かかることがあります。

エクスポートはWebCryptoのexportKeyで行われます:公開鍵はSubjectPublicKeyInfo(SPKI)、秘密鍵はPKCS#8として、base64エンコードされ、-----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY----- のフレーム内で1行64文字で折り返されます。形式の切り替えをJWKにすると、代わりにJSON Web Key表現が得られます。生成はローカルかつオフラインで行われるため、秘密鍵は決してアップロードされません——後で復元できないため、タブを閉じる前に安全な場所にコピーしてください。

よくある質問

秘密鍵はサーバーに送信されますか?
いいえ。鍵はブラウザのWebCryptoエンジンによってローカルに生成され、ページ内でエクスポートされます。秘密鍵はデバイスを離れず、どこにも保存されないため、タブを閉じる前に安全な場所にコピーしてください——後で復元できません。
どの鍵サイズや曲線を選ぶべきですか?
RSA-2048は一般的な基準です。3072や4096は生成が遅く鍵が大きくなる代わりに、より余裕があります。ECではP-256が高速で広くサポートされ、P-384やP-521はより高いセキュリティレベルを提供します。EC鍵は同等の強度に対してRSAよりはるかに小さくなります。
PEMとJWK出力の違いは何ですか?
PEMはBEGIN/END行で囲まれたbase64 DER形式で、ほとんどのサーバーやOpenSSLが期待するものです——公開鍵はSPKI、秘密鍵はPKCS#8。JWKはJavaScriptやJOSE/JWTライブラリが使うJSON Web Keyオブジェクトです。どちらも同じ鍵ペアを記述します。
署名と暗号化——何が変わりますか?
鍵が作成されるアルゴリズムを選択します。RSA署名はRSASSA-PKCS1-v1_5、暗号化はRSA-OAEPを使い、EC署名はECDSA、鍵合意はECDHを使います。ある目的で生成された鍵はそのアルゴリズムに束縛されるため、どう使うかに基づいて選んでください。

その他のツール