証明書の形式変換

証明書の形式変換を実施する機能

ポータルからクライアント証明書を発行した場合、PKCS#12形式でダウンロードされます。クライアント証明書を利用するアプリケーションによってはPEM形式への変換が必要となります。

証明書の形式変換

PKCS#12形式の証明書をPEM形式に変換するコマンド実行例を記載します。

本章ではOpenssl を利用した実行例を記載します。

注:

PKCS#12形式の証明書を操作する場合、パスフレーズを入力する必要があります。下記の<PKCS#12用パスフレーズ>にはポータル上で設定した証明書用のパスフレーズを入力してください。

  • クライアント証明書の形式変換

    $ openssl pkcs12 -in <クライアント証明書名>.p12 -clcerts -nokeys -out <クライアント証明書名(任意)>
    Enter Import Password:<PKCS#12用パスフレーズ>
    MAC verified OK
  • 秘密鍵の抽出

    秘密鍵の抽出には「暗号化された秘密鍵」と「暗号化されていない秘密鍵」の2つの方法があります。

    アプリケーションによっては「暗号化された秘密鍵」に対応していない場合があります。アプリケーションの仕様をご確認のうえ利用してください。

    • 暗号化された秘密鍵

      $ openssl pkcs12 -in <クライアント証明書>.p12 -nocerts -out <クライアント証明書用秘密鍵名(任意)>
      Enter Import Password:<PKCS#12用パスフレーズ>
      MAC verified OK
      Enter PEM pass phrase:<秘密鍵暗号化パスフレーズ>
      Verifying - Enter PEM pass phrase:<秘密鍵暗号化パスフレーズ>
      注:

      暗号化された秘密鍵を作成するため、PKCS#12形式の証明書を読み込むためのパスフレーズ以外に、暗号化のために任意のパスフレーズを入力する必要があります。

      このパスフレーズは実際にアプリケーションが秘密鍵を読み込む時に入力することとなりセキュリティの強化につながります。

    • 暗号化されていない秘密鍵

      $ openssl pkcs12 -in <クライアント証明書名>.p12 -nocerts -nodes -out <クライアント証明書用秘密鍵名(任意)>
      Enter Import Password:<PKCS#12用パスフレーズ>
      MAC verified OK

クライアント証明書と秘密鍵の整合性確認

クライアント証明書と秘密鍵は対応するものを使用する必要があります。クライアント証明書と秘密鍵が対応していない場合はエラーになります。

クライアント証明書と秘密鍵の整合性を確認するコマンド実行例を記載します。

  1. PEM形式クライアント証明書の情報表示
    openssl x509 -modulus -noout -in <クライアント証明書名>
  2. 秘密鍵の情報表示
    openssl rsa -modulus -noout -in <クライアント証明書用秘密鍵名>

上記「1.」「2.」のコマンド結果に表示された情報が一致する場合、クライアント証明書と秘密鍵は対応しています。