通常、主流の Web サービスは、主に次の暗号化ライブラリに基づいています。

  • Java 暗号化ライブラリは一般的に、Tomcat、Weblogic、および JBoss Web サービスで使用されます。 JDK (Java 開発キット) に含まれている Keytool を使用して、 JKS (Java キーストア) 形式で証明書を生成します。
  • OpenSSL 暗号ライブラリは一般的に、Apache および Nginx Web サービスで使用され、PEM、KEY、および CRT 形式の証明書を生成します。
  • Websphere や IHS (IBM HTTP サーバー) などの IBM Web サービスの場合、 組み込み iKeyman ツールを通常使用して KDB 形式の証明書を生成します。
  • Microsoft Windows Server の IIS (Internet Information Services) の場合、 Windows で構築された暗号化ライブラリを使用して PFX 形式の証明書を生成します。

証明書がテキスト形式なのか、バイナリ形式なのか判断する方法

以下の方法を使用して、サフィックス拡張子で証明書の形式を判断します。

  • *.DER または *.CER: これらの 2 つの証明書はどちらもバイナリ形式です。 これらの証明書には証明書情報のみが含まれ、秘密鍵は含まれません。
  • *.*.CRT: この証明書はテキスト形式またはバイナリ形式のいずれかになり得ます (通常はテキスト形式)。 これには、*.DER 証明書および *.CER 証明書と同じ機能があります。
  • *.*.PEM: このファイルは通常、テキスト形式です。これには証明書または秘密鍵のいずれか、またはその両方が含まれます。 *. *.PEM ファイルに秘密鍵のみが含まれる場合は、*.KEY 拡張子に通常置き換えられます。
  • *.*.PFX または *.P12: これらの 2 つの証明書はどちらもバイナリ形式です。証明書と秘密鍵の両方が含まれます。 通常はパスワードで保護されています。
メモ帳を使用して証明書ファイルを開いて、証明書の形式を判断することも可能です。 テキスト形式の例は次のとおりです。

-- Begin certificate --
MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
—–END CERTIFICATE—–

  • —–BEGIN CERTIFICATE—– と表示されている場合は、証明書ファイルを指します。
  • —–BEGIN RSA PRIVATE KEY—– と表示されている場合は、秘密鍵ファイルを指します。

証明書形式の変換

次のフローチャートは、どの証明書形式が変換可能なのかを示しています。
次の方法を使用して、異なる形式間で証明書を変換します。
Alibaba Cloud 証明書サービスは、すべてのデジタル証明書に PEM 形式を使用します。
  • JKS から PFX への変換
    組み込み JDK ツールの Keytool を使用して証明書を JKS から PFX に変換します。たとえば、次のコマンドを実行して server.jksserver.pfx に変換します。
    keytool -importkeystore -srckeystore D:\server.jks -destkeystore D:\server.pfx
            -srcstoretype JKS -deststoretype PKCS12
  • PFX から JKS への変換
    組み込み JDK ツールの Keytool を使用して、証明書を PFX から JKS に変換します。 たとえば、次のコマンドを実行して、server.pfxserver.jks に変換します。
    keytool -importkeystore -srckeystore D:\server.pfx -destkeystore D:\server.jks
            -srcstoretype PKCS12 -deststoretype JKS
  • PEM/KEY/CRT から PFX への変換
    OpenSSL ツールを使用して .key 秘密鍵ファイルと.crt 公開鍵ファイルを PFX 証明書ファイルに変換します。 たとえば、.key ファイル (server.key) と .crt ファイル (server.crt) を OpenSSL インストールディレクトリにコピーし、OpenSSL ツールで次のコマンドを実行してファイルを server.pfx に変換します。
    openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
  • PFX から PEM/KEY/CRT への変換

    OpenSSL ツールを使用して PFX 証明書を .key 秘密鍵ファイルに変換します。たとえば、PFX 証明書ファイルを OpenSSL インストールディレクトリにコピーし、OpenSSL ツールで次のコマンドを実行して、ファイルを server.pem 証明書ファイル、.key 秘密鍵ファイル (server.key)、および .crt 公開鍵ファイル (server.crt) に変換します。

    • openssl pkcs12 -in server.pfx -nodes -out server.pem
    • openssl rsa -in server.pem -out server.key
    • openssl x509 -in server.pem -out server.crt
    この変換方法は、秘密鍵と CSR ファイルが Keytool で生成される状況に特有です。 この方法では、PEM 公開鍵を受け取ったときに秘密鍵の抽出も可能です。 実際の環境では、抽出した秘密鍵と受け取った公開鍵証明書を組み合わせて、デジタル証明書をデプロイすることを推奨します。