PKCS#1 と PKCS#8 · 公開鍵と秘密鍵

秘密鍵と公開鍵の形式変換: PKCS#1 と PKCS#8

秘密鍵または公開鍵を PKCS#1 と PKCS#8 の間で変換します。別のサーバー、ロードバランサー、クラウド API が期待する構造へ PEM を書き換えます。検出と変換はブラウザ内で行われます。

ブラウザ内のみで変換 · 鍵はアップロードされません

公開鍵や秘密鍵を貼り付けたり、アップロードしたりできます。

認識された PEM ヘッダーから、鍵の種類と現在の形式が入ります。出力形式を選んでください。現在の形式を検出できない場合は、もう一方の形式として扱います。変換はこのタブで行われ、ページを消去するか閉じると鍵は破棄されます。

暗号化されていない.key、.pem、または.pubファイルを受け入れる。

認識された PEM ヘッダーから鍵の種類が入ります。出力形式を選んでください。

変換されたキーがここに表示されます

1つのPEMキーを貼り付け、対象フォーマットを選択します。その形式に既に存在する鍵は変更されません。

キーエンコーディング

同じキー、別のラッパー。

クラウド API、Web サーバー、古いツールキットは、1種類の PEM ヘッダーしか受け付けないことがあります。エンコーディングを変換すれば、新しいペアを作って証明書を再発行する代わりに、すでにある鍵をインストールできます。

必要なヘッダーに合わせる

BEGIN PRIVATE KEYをRSAのPRIVATEキーまたはEC PRIVate キーに変え、他の方法。

公開鍵も

BEGIN PUBLIC KEY と BEGIN RSA PUBLIC KEY の間で RSA 公開鍵を変換します。

鍵素材はローカルに保持

解析と書き換えはこのブラウザタブ内で行われます。鍵はアップロードされません。

PKCS#1およびPKCS#8

キー形式を変換する方法。

BEGIN 行と END 行を含む、完全な PEM を使います。認識されたヘッダーから、鍵の種類と現在の形式が入ります。出力形式は自分で選んでください。

  1. 01

    鍵を1つ追加

    PEM を貼り付け、暗号化されていない .key, .pem, または .pub ファイルをアップロードします。

  2. 02

    ターゲット形式を選択します。

    PKCS#1 または PKCS#8 を選びます。鍵がすでにその形式なら、結果は同じ PEM です。

  3. 03

    結果をコピーまたはダウンロード

    出力はこのタブにとどまります。元のキーと同じアクセス制御で保存します。

PEMヘッダー

どのヘッダーがどの形式に対応するか。

PKCS#8

BEGIN PRIVATE KEY
BEGIN PUBLIC KEY

秘密鍵は PrivateKeyInfo を使います。公開鍵は SubjectPublicKeyInfo を使い、このコンバーターはそれを PKCS#8 の公開形式として扱います。

PKCS#1

BEGIN RSA PRIVATE KEY
BEGIN EC PRIVATE KEY
BEGIN RSA PUBLIC KEY

EC PRIVATE KEYはSEC1のエンコーディングです。 RSA PUBLICキーは、このページが書いている唯一のPKCS#1公開鍵です。

フォーマットの検出

コンバーターが変換方向を決める仕組み。

最初に PEM のラベルを読みます。認識されたヘッダーが 1 つあると、鍵の種類と現在の形式が入ります。結果を PKCS#1 にするか PKCS#8 にするかは自分で選びます。

ラベル、truncatedヘッダ、または同じボックスの2つのキーを欠くと、現在のフォーマットはunsetのままになります。ターゲット形式を選択し、コンバータは他の形式でキーを扱う。すでに対象フォーマットを使用する検出されたキーは変更されません。

変換で変わるもの

  • The PEM header and ASN.1 wrapper
  • Line wrapping of the Base64 body
  • Where an EC curve identifier is stored

変換は、新しいキーペアを生成せず、パスフレーズを復号化したり、証明書が鍵と一致することを証明しません。

OpenSSL で PKCS#1 と PKCS#8 を変換する方法。

鍵が暗号化されているか、方針でブラウザツールを使えないときは、信頼できるマシンでこれらのコマンドを使います。

PRIVATE KEY(PKCS#1 から PKCS#8)

openssl pkcs8 -topk8 -nocrypt \
  -in private-key.pem -out private-key-pkcs8.pem

RSA PRIVATE KEY(PKCS#8 から PKCS#1)

openssl rsa -in private-key.pem \
  -out private-key-pkcs1.pem

EC PRIVATE KEY(PKCS#8 から SEC1)

openssl ec -in private-key.pem \
  -out private-key-sec1.pem

RSA PUBLIC KEY(SPKI から PKCS#1)

openssl rsa -pubin -in public-key.pem \
  -RSAPublicKey_out -out public-key-pkcs1.pem

サポートされている形式と制限。

暗号化されていない PEM を 1 つ貼り付けるかアップロードします。秘密鍵は PKCS#8、RSA PKCS#1、または EC SEC1 です。RSA 公開鍵は SubjectPublicKeyInfo または RSAPublicKey です。対応する EC 曲線は、証明書ですでに使っている名前付き曲線に従い、P-256、P-384、P-521 を含みます。

暗号化された秘密鍵、証明書、CSRおよび PKCS#12 バンドルはこのページの外にあります。 OpenSSL それらの容器のために、あなたはまだ異なる必要がある場合は、ここで抽出キーを変換します PEM ヘッダ。

検出が失敗するとき。

PEM の境界がない、境界が途中で切れている、または公開鍵と秘密鍵の両方が含まれているときは、検出結果は未設定のままです。出力形式を選ぶと、コンバーターは鍵がもう一方の形式だとみなします。ヘッダーで種類が分からないときは、鍵の種類を指定してください。

手入力の選択が誤っていると、鍵は書き出されず失敗します。元のヘッダーを確認するか、OpenSSL でパスフレーズを外してから再試行してください。

関連キーツール

CSR と秘密鍵の照合

申請を送る前に、CSR と秘密鍵が同じペアであることを確認します。

Check CSR & key

証明書と鍵の照合

インストールする前に、発行済みの証明書と秘密鍵を比較します。

Check certificate & key

CSR ジェネレーター

新しいエンコーディングではなく新しいペアが必要なときは、ローカルで新しい CSR と秘密鍵を作成します。

Generate CSR

PKCS 変換の FAQ

PKCS#1 と PKCS#8 についてよくある質問。

PKCS#1とPKCS#8の違いは何ですか?

PKCS#8 は汎用の秘密鍵ラッパーで、BEGIN PRIVATE KEY と書きます。ここでいう PKCS#1 はアルゴリズム固有の形式です。RSA は BEGIN RSA PRIVATE KEY、SEC1 の楕円曲線鍵は BEGIN EC PRIVATE KEY です。公開鍵の汎用形式は SubjectPublicKeyInfo(BEGIN PUBLIC KEY)で、このページではそれを PKCS#8 の公開鍵として扱います。PKCS#1 の公開鍵は BEGIN RSA PUBLIC KEY です。

秘密鍵をこのコンバーターに貼り付けるのは安全ですか?

変換はブラウザ内で行われます。鍵は当社のサーバーへ送られず、保存もされず、URL にも入りません。終了したらフォームを消すか、タブを閉じてください。本番の鍵は、組織の鍵の取り扱い方針に従ってください。

コンバーターはRSAとECキーをサポートしていますか?

秘密鍵は RSA または ECDSA で、証明書に使う P-256、P-384、P-521 を含みます。公開鍵の変換は RSA 向けです。楕円曲線の公開鍵はすでに SubjectPublicKeyInfo を使い、PKCS#1 の PEM 形式はありません。

暗号化された秘密鍵を変換できますか?

いいえ。このページは、パスフレーズを要求または復号化しません。 BEGIN ENCRYPTED PRIVATE KEYとa PEM Proc タイプを使って: 4 ,enCRYPTED は拒否されます。 OpenSSL このページのコマンド、または信頼できるマシンに一時暗号化されていないコピーを作成して直後に削除します。

フォーマットが検出できない場合はどうなりますか?

標準の PEM ヘッダーから、鍵の種類と現在の形式が入ります。出力形式は自分で選びます。ヘッダーがない、途中で切れている、または鍵が複数貼り付けられている場合は、鍵の種類を自分で指定してください。そのとき現在の形式は、もう一方の PKCS 形式だとみなします。検出された鍵がすでに出力形式なら、そのまま返します。

変換はキーペアを変更しますか?

いいえ。PKCS#1 と PKCS#8 は同じ鍵素材のエンコーディングです。モジュラス、指数、曲線パラメーターは変わりません。変わるのは PEM の包み方だけです。