JWK ⇄ PEM 変換
Web PKI & 暗号化

JWK PEM 変換 & PEM JWK 鍵コンバーター (RSA & EC)

RFC 7517 JSON Web Key(JWK / JWKS)とPKCS#8 / SPKI PEM形式を双方向に変換。公開鍵・秘密鍵(RSAおよび楕円曲線暗号)の相互変換に対応。

100% クライアント側プライバシー
サーバー送信ゼロ
プリセット:
鍵の入力 (JWK / JWKS / PEM)
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0S1CTzIxxA0411a/i9zB
d5knsWNuaAykjSmrckqv7gH8SZgu7pRRUcYQvmsNSR80dSSmqI3fu/EJIaBSCIdw
tDr/ci1qeqRPHXz+52sCFy+DfZU16bLIH70UIVZAu5keLFpWuJ5cNpzxl7MqDGU4
RHWPMqfE4GVSnEzhZ6/+EWpCWqHnu6UVZ9qohjo63eUekTDJMbJjfYYt08JSIGOJ
HXUePxdqxjg7xOzqQ1q8BY249nzSgyvxYPwpGEPvLhxk4L9VrF9uy/v5uT/FG3NW
Fur2s/LaOjKvejvbpvb1nbBTljl/JT+j8cWWjs+5JBLJ0C/y9QRhQeUeR+UsY0HU
bwIDAQAB
-----END PUBLIC KEY-----
鍵アルゴリズム規格
RSA • 2048-bit RSA
RFC 7638 フィンガープリント
Derived SHA-256
ブラウザ内完結保証
完全クライアント側 Web Crypto

100% ブラウザ内完結・ゼロ送信

サーバーへの鍵データ送信や外部テレメトリは一切行われません。秘密鍵はブラウザ内の Web Crypto メモリ内のみで安全に処理されます。

RSA & 楕円曲線 (EC) 双方に完全対応

RSA (2048/4096bit) および ECDSA (P-256, P-384, P-521) の SPKI、PKCS#1、PKCS#8 鍵仕様を相互に高精度パースします。

RFC 7517 & RFC 7638 完全準拠

OpenID Connect や JWT 署名検証に必要な RFC 7638 SHA-256 サムプリント計算や JWKS エンベロープ生成に対応しています。

技術リファレンス&アーキテクチャガイド

JWK - PEM 相互変換ツール(RSA・EC鍵対応) — リファレンスガイド

RFC 7517 JSON Web Key(JWK / JWKS)とPKCS#8 / SPKI PEM形式を双方向に変換。公開鍵・秘密鍵(RSAおよび楕円曲線暗号)の相互変換に対応。

主要パラメータ&設定項目

ktystring ('RSA' | 'EC' | 'OKP')

RFC 7517 第4.1項に基づく暗号アルゴリズムファミリの識別子(鍵タイプ)。

初期値: RSA
crvstring ('P-256' | 'P-384' | 'P-521' | 'secp256k1' | 'Ed25519')

RFC 7518 第6.2項で定義される楕円曲線(EC)およびOKP鍵で必須の曲線識別パラメータ。

初期値: P-256
formatstring ('SPKI' | 'PKCS#8' | 'PKCS#1' | 'SEC1')

標準PEMデリミタヘッダーでカプセル化されるASN.1 DERバイナリエンコード形式。

初期値: SPKI / PKCS#8
usestring ('sig' | 'enc')

公開鍵の用途を指定するパラメータ。デジタル署名検証('sig')または暗号化('enc')。

初期値: sig
kidstring

OAuth 2.0 / OpenID ConnectのJWKSエンドポイントにおける鍵照合用のキー識別子。

初期値: 任意のUUID/Thumbprint

プロの活用テクニック&推奨設定

SPKIとPKCS#1ヘッダー規格の違い

現代のWeb Crypto API、OpenSSL 3.0、クラウドIAM基盤ではSubjectPublicKeyInfo(SPKI)形式('-----BEGIN PUBLIC KEY-----')が標準です。従来のPKCS#1形式('-----BEGIN RSA PUBLIC KEY-----')は、標準JWK構造へインポートする前にSPKIへ変換する必要があります。

厳格なBase64URLエンコード準拠

RFC 7517ではパディング文字('=')を除去し、'+'を'-'、'/'を'_'に置き換えたBase64URLが義務付けられています。モジュラス'n'や座標'x'/'y'を手動で編集する際は末尾の'='を必ず削除してください。

JWKSエンドポイントからのバッチ抽出

Auth0、Okta、AWS Cognito、Keycloakなどの認証プロバイダと連携する場合、受信したJWTヘッダーの'kid'と/.well-known/jwks.jsonの'keys'配列をマッチングさせ、該当する署名検証公開鍵のみをPEMへ変換します。

PKCS#8形式による秘密鍵の相互運用性

JWK秘密鍵をNode.js crypto、Go crypto/x509、Python cryptographyなどのサーバー環境へ移行する際は、常に標準の非暗号化PKCS#8('-----BEGIN PRIVATE KEY-----')形式でエクスポートしてください。

よくあるトラブルと解決策

エラー: サポートされていない鍵タイプまたは無効なPEMヘッダー

PEMが'-----BEGIN PUBLIC KEY-----'(SPKI)や'-----BEGIN PRIVATE KEY-----'(PKCS#8)などの正規ヘッダーで始まっているか確認してください。不要な改行コードの混在(CRLF/LF)や末尾スペース、HTML実体参照を除去してください。

JWKからインポートした鍵で署名検証に失敗する(RS256 / ES256)

指定した楕円曲線('crv')が署名アルゴリズムと一致しているか確認してください(ES256にはP-256、ES384にはP-384が必要)。また、座標パラメータ'x'と'y'が曲線のバイト長に合わせて適切にゼロ埋めされているか検証してください。

パスワード暗号化されたPEM秘密鍵の読み込みエラー

'-----BEGIN ENCRYPTED PRIVATE KEY-----'で始まる暗号化PEMはパスワード復号が必要です。OpenSSLコマンド('openssl pkcs8 -topk8 -nocrypt -in encrypted.pem -out private.pem')等を用いて事前に非暗号化PKCS#8へ変換してから取り込んでください。

よくある質問 (FAQ)

JWKとPEMキーフォーマットの主な違いは何ですか?▼

JWK(RFC 7517)は暗号鍵をJSONオブジェクトおよびBase64URL文字列として表現し、Web APIやマイクロサービス連携に最適化されています。PEM(RFC 7468)はASN.1 DERバイナリデータをBase64とASCIIヘッダーで包んだ形式で、TLS証明書やOSファイルシステムで広く利用されています。

Auth0やGoogleなどのJWKSエンドポイントから一括変換できますか?▼

はい。'keys'配列を含む完全なJSON Web Key Set(JWKS)を貼り付けると、各鍵が個別に解析され、元のKey ID(kid)を保持したまま対応するSPKI PEM公開鍵を生成できます。

機密性の高い秘密鍵をブラウザ上で変換しても安全ですか?▼

はい、完全に安全です。すべてのASN.1解析、バイトシリアライズ、Web Crypto暗号処理はクライアント側ブラウザのメモリ内でのみ実行されます。鍵データが外部サーバーへ送信されることは一切ありません。

サポートされている楕円曲線とRSA鍵長は何ですか?▼

NIST曲線(P-256, P-384, P-521)、SECG secp256k1、Ed25519(OKP)、および1024 / 2048 / 3072 / 4096ビットのRSA鍵(公開鍵・秘密鍵)に対応しています。

公開鍵PEMから変換したJWKに'd'パラメータが含まれないのはなぜですか?▼

公開鍵PEM(SPKI)には公開コンポーネント(RSAの'n','e'やECの'x','y')のみが含まれるためです。'd'は秘密指数(プライベートスカラー)を表し、秘密鍵(PKCS#8やPKCS#1/SEC1)を変換した場合にのみ出力されます。

関連するおすすめ開発ツール

すべてのツール →
Permissions-Policy (Feature-Policy) HTTPヘッダー生成&検証ツールセキュリティ

カメラ、位置情報、マイク、決済APIなどブラウザ機能へのアクセスを厳格に制御する最新のPermissions-Policy HTTPレスポンスヘッダーを作成・検証します。

ツールを開く→
HSTS (Strict-Transport-Security) ヘッダー生成&プリロード検証セキュリティ

RFC 6797準拠のHTTP Strict-Transport-Security (HSTS) ヘッダー生成、max-age計算、includeSubDomains指定、およびChrome HSTSプリロード適格性検証ガイド。

ツールを開く→
OpenSSHサーバー(sshd_config)セキュリティ強化設定ジェネレーターセキュリティ

rootログイン禁止、公開鍵認証の強制、最新のAEAD暗号スイート、厳格なアイドルタイムアウトを備えた本番Linuxサーバー向けsshd_configを生成します。

ツールを開く→
Linuxセキュリティ&インフラ自動化セキュリティ

Ubuntu UFW のファイアウォール規則、デフォルト遮断ポリシー、レート制限、ポート転送、自動実行可能な Bash スクリプトをブラウザ上で安全に生成します。

ツールを開く→
Linux iptables ファイアウォールルール構築・シェルスクリプト生成セキュリティ

INPUT/FORWARD/OUTPUTチェーン、ステートフルパケット検査、SYN Flood防御、NATポートフォワーディング、自動シェルスクリプト出力。

ツールを開く→
DNS SPF (Sender Policy Framework) レコードビルダー&解説 技術者ガイドセキュリティ

RFC 7208準拠のSPF TXTレコードを生成・検証。IPv4/IPv6 CIDRブロック、MX、A、includeメカニズム、SoftFail/HardFail強制ポリシーの設計とDNS 10回ルックアップ制限対策。

ツールを開く→