RFC 7517 JSON Web Key(JWK / JWKS)とPKCS#8 / SPKI PEM形式を双方向に変換。公開鍵・秘密鍵(RSAおよび楕円曲線暗号)の相互変換に対応。
-----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-----サーバーへの鍵データ送信や外部テレメトリは一切行われません。秘密鍵はブラウザ内の Web Crypto メモリ内のみで安全に処理されます。
RSA (2048/4096bit) および ECDSA (P-256, P-384, P-521) の SPKI、PKCS#1、PKCS#8 鍵仕様を相互に高精度パースします。
OpenID Connect や JWT 署名検証に必要な RFC 7638 SHA-256 サムプリント計算や JWKS エンベロープ生成に対応しています。
RFC 7517 JSON Web Key(JWK / JWKS)とPKCS#8 / SPKI PEM形式を双方向に変換。公開鍵・秘密鍵(RSAおよび楕円曲線暗号)の相互変換に対応。
RFC 7517 第4.1項に基づく暗号アルゴリズムファミリの識別子(鍵タイプ)。
RFC 7518 第6.2項で定義される楕円曲線(EC)およびOKP鍵で必須の曲線識別パラメータ。
標準PEMデリミタヘッダーでカプセル化されるASN.1 DERバイナリエンコード形式。
公開鍵の用途を指定するパラメータ。デジタル署名検証('sig')または暗号化('enc')。
OAuth 2.0 / OpenID ConnectのJWKSエンドポイントにおける鍵照合用のキー識別子。
現代のWeb Crypto API、OpenSSL 3.0、クラウドIAM基盤ではSubjectPublicKeyInfo(SPKI)形式('-----BEGIN PUBLIC KEY-----')が標準です。従来のPKCS#1形式('-----BEGIN RSA PUBLIC KEY-----')は、標準JWK構造へインポートする前にSPKIへ変換する必要があります。
RFC 7517ではパディング文字('=')を除去し、'+'を'-'、'/'を'_'に置き換えたBase64URLが義務付けられています。モジュラス'n'や座標'x'/'y'を手動で編集する際は末尾の'='を必ず削除してください。
Auth0、Okta、AWS Cognito、Keycloakなどの認証プロバイダと連携する場合、受信したJWTヘッダーの'kid'と/.well-known/jwks.jsonの'keys'配列をマッチングさせ、該当する署名検証公開鍵のみをPEMへ変換します。
JWK秘密鍵をNode.js crypto、Go crypto/x509、Python cryptographyなどのサーバー環境へ移行する際は、常に標準の非暗号化PKCS#8('-----BEGIN PRIVATE KEY-----')形式でエクスポートしてください。
PEMが'-----BEGIN PUBLIC KEY-----'(SPKI)や'-----BEGIN PRIVATE KEY-----'(PKCS#8)などの正規ヘッダーで始まっているか確認してください。不要な改行コードの混在(CRLF/LF)や末尾スペース、HTML実体参照を除去してください。
指定した楕円曲線('crv')が署名アルゴリズムと一致しているか確認してください(ES256にはP-256、ES384にはP-384が必要)。また、座標パラメータ'x'と'y'が曲線のバイト長に合わせて適切にゼロ埋めされているか検証してください。
'-----BEGIN ENCRYPTED PRIVATE KEY-----'で始まる暗号化PEMはパスワード復号が必要です。OpenSSLコマンド('openssl pkcs8 -topk8 -nocrypt -in encrypted.pem -out private.pem')等を用いて事前に非暗号化PKCS#8へ変換してから取り込んでください。
JWK(RFC 7517)は暗号鍵をJSONオブジェクトおよびBase64URL文字列として表現し、Web APIやマイクロサービス連携に最適化されています。PEM(RFC 7468)はASN.1 DERバイナリデータをBase64とASCIIヘッダーで包んだ形式で、TLS証明書やOSファイルシステムで広く利用されています。
はい。'keys'配列を含む完全なJSON Web Key Set(JWKS)を貼り付けると、各鍵が個別に解析され、元のKey ID(kid)を保持したまま対応するSPKI PEM公開鍵を生成できます。
はい、完全に安全です。すべてのASN.1解析、バイトシリアライズ、Web Crypto暗号処理はクライアント側ブラウザのメモリ内でのみ実行されます。鍵データが外部サーバーへ送信されることは一切ありません。
NIST曲線(P-256, P-384, P-521)、SECG secp256k1、Ed25519(OKP)、および1024 / 2048 / 3072 / 4096ビットのRSA鍵(公開鍵・秘密鍵)に対応しています。
公開鍵PEM(SPKI)には公開コンポーネント(RSAの'n','e'やECの'x','y')のみが含まれるためです。'd'は秘密指数(プライベートスカラー)を表し、秘密鍵(PKCS#8やPKCS#1/SEC1)を変換した場合にのみ出力されます。
カメラ、位置情報、マイク、決済APIなどブラウザ機能へのアクセスを厳格に制御する最新のPermissions-Policy HTTPレスポンスヘッダーを作成・検証します。
RFC 6797準拠のHTTP Strict-Transport-Security (HSTS) ヘッダー生成、max-age計算、includeSubDomains指定、およびChrome HSTSプリロード適格性検証ガイド。
rootログイン禁止、公開鍵認証の強制、最新のAEAD暗号スイート、厳格なアイドルタイムアウトを備えた本番Linuxサーバー向けsshd_configを生成します。
Ubuntu UFW のファイアウォール規則、デフォルト遮断ポリシー、レート制限、ポート転送、自動実行可能な Bash スクリプトをブラウザ上で安全に生成します。
INPUT/FORWARD/OUTPUTチェーン、ステートフルパケット検査、SYN Flood防御、NATポートフォワーディング、自動シェルスクリプト出力。
RFC 7208準拠のSPF TXTレコードを生成・検証。IPv4/IPv6 CIDRブロック、MX、A、includeメカニズム、SoftFail/HardFail強制ポリシーの設計とDNS 10回ルックアップ制限対策。