使用OpenSSL証明書を生成しフォーマットする

使用OpenSSL独自の自己署名証明書を作成したり、PEM証明書ファイルをP12ファイル。

OpenSSL TLS 証明書の生成と検証に使用できるオープン ソース ツールキットです。

このトピックでは、OpenSSLツールキット、およびPEM形式の証明書をP12フォーマット。

自己署名証明書の作成OpenSSL

次のコマンドを使用して、秘密鍵と公開証明書を作成します。OpenSSL:
openssl req -newkey rsa:2048 -nodes -keyout private_key.pem -x509 -days 365 -out public_certificate.pem

のOpenSSLコマンドは、秘密鍵と公開証明書を作成するために次の情報を要求します (例の値を示します)。

  • 国名(2文字コード)[]: US
  • 州または県名(フルネーム)[]: カリフォルニア
  • 地域名(例:都市)[]: サクラメント
  • 組織名(例:会社)[]: exampleorganization
  • 組織単位名(例:セクション)[]:
  • 共通名(例:完全修飾ホスト名)[]:gateway.exampleorganization.com
  • 電子メールアドレス []:

共通名は、証明書を使用するシステムの完全修飾ドメイン名に設定する必要があります。 静的 DNS の場合は、ゲートウェイ・クラスターに設定されているホスト名または IP アドレスを使用します (例: 192.16.183.131またはgateway.exampleorganization.com)。

生成された公開証明書を確認するには、次のコマンドを実行します。
openssl x509 -text -noout -in public_certificate.pem
生成されたprivate_keyとpublic_certificateのPEMファイルをパスワードで保護されたファイルに結合するにはP12ファイル、実行:
openssl pkcs12 -inkey private_key.pem -in public_certificate.pem -export -out certificate.p12
検証するにはP12ファイル、実行:
openssl pkcs12 -in certificate.p12 -noout -info

作成PKCS#12 ( P12 ) PEMファイルからの証明書

PKCS#12 (P12 ) は、暗号化オブジェクトを単一のファイルとして保存するためのアーカイブ ファイル形式を定義します。 使用OpenSSLパスワード保護されたP12 PEM ファイルからファイルを作成します。

前提条件:
  • 秘密鍵ファイル。 例: private_key.pem
  • CA 署名証明書。 例: public_certificate.pem
  • CAからの中間証明書がある場合は、それらを1つの証明書に連結します。.pemファイルを作成するca_chain.pemファイル:
    cat ca1.pem ca2.pem ca3.pem > ca_chain.pem
    ca_chain.pemファイルは次のようになります:
    
    -----BEGIN CERTIFICATE-----
    MIIEpjCCA46gAwIBAgIQEOd26KZabjd+BQMG1Dwl6jANBgkqhkiG9w0BAQUFADCB
    ...
    lQX7CkTJn6lAJUsyEa8H/gjVQnHp4VOLFR/dKgeVcCRvZF7Tt5AuiyHY
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIEPDCCAySgAwIBAgIQSEus8arH1xND0aJ0NUmXJTANBgkqhkiG9w0BAQUFADBv
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
    ...
    -----END CERTIFICATE-----
  • 1つのファイルに複数のエンドエンティティ(リーフ)証明書がある場合は、それらを別々のファイルに分割し、別々のP12各証明書のファイル。
作成するP12以下のファイルOpenSSLコマンド(含めるCA証明書がない場合は省略してください)-CAfile <filename> -chain ):
openssl pkcs12 -inkey private_key.pem -in public_certificate.pem -export -out certificate.p12 -CAfile caChain.pem -chain