SSL エンドポイントと証明書の設定

logo cloud active logo hybrid disabled logo server disabled logo rtf disabled

専用ロードバランサには、少なくとも 1 つの証明書を関連付ける必要があります。クライアントにサービスを提供するロードバランサ用の SSL エンドポイントを設定するには、ロードバランサ用の証明書と非公開キーのペアを指定します。

各ロードバランサには、複数の独立した SSL エンドポイントを設定でき、各エンドポイントはサーバ証明書の一般名によって識別されます。

要件

SSL エンドポイントを関連付けるには、次のファイルが必要です。

  • 暗号化されていない、PEM (Privacy-Enhanced Mail) でエンコードされた証明書ファイル。

  • PEM 証明書の非公開キーが含まれるファイル。

    非公開キーファイルは、パスフレーズレス​である必要があります。

openssl コマンドを使用した証明書ファイルと非公開キーの作成

openssl​ を使用して、暗号化されていない、PEM でエンコードされた証明書ファイルと非公開キーの両方を作成できます。

たとえば、自己署名証明書と対応する非公開キーを作成するには、次の手順を実行します。

  1. 次のように入力します。

    openssl req -newkey rsa:2048 -nodes -keyout example-com-private.pem -x509 -days 3000 -out example-com-crt.pem
  2. 証明書の情報の入力を促されたら、入力します。

    このコマンドは 2 つの .pem​ ファイルを作成します。

    example-com-crt.pem
    example-com-private.pem

    これらの .pem​ ファイルを Runtime Manager でアップロードするか、または SSL エンドポイントをロードバランサに追加するときにコマンドラインで渡します。

-config​ オプションを使用して、証明書情報の設定ファイルを openssl​ コマンドに渡すこともできます。

たとえば、example-com.cfg​ という名前のこの証明書設定ファイルには、app1.example.com​ と app2.example.com​ という Mule アプリケーションのいくつかの SAN (サブジェクト代替名) が含まれている DNS ドメイン example.com​ が定義されています。

[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
req_extensions     = req_ext
prompt = no
[ req_distinguished_name ]
countryName                 = US
stateOrProvinceName         = California
localityName               = San Francisco
organizationName           = MuleSoft
commonName                 = example.com

[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1   = app1.example.com
DNS.2   = app2.example.com

次のコマンドを実行します。

openssl req -newkey rsa:2048 -nodes -keyout example-com-private.pem -x509 -days 3000 -out example-com-crt.pem -config example-com.cfg

ワイルドカード証明書の作成

サブドメイン要求をサポートするワイルドカード証明書を作成することができます。たとえば、example.com​ へのサブドメイン要求をサポートすることで、app1.example.com​ や app2.example.com​、さらにこれから作成されるサブドメイン名を含めることができます。

サブドメイン名を example.com​ にマップするワイルドカード証明書を作成するには、次の手順を実行します。

  1. 次の設定を含むファイルを作成します。

    [ req ]
    default_bits       = 2048
    distinguished_name = req_distinguished_name
    prompt = no
    [ req_distinguished_name ]
    countryName                 = US
    stateOrProvinceName         = California
    localityName               = San Francisco
    organizationName           = MuleSoft
    commonName                 = *.example.com
  2. 証明書設定ファイルを openssl​ コマンドに渡します。

    openssl req -newkey rsa:2048 -nodes -keyout example-com-private.pem -x509 -days 3000 -out example-com-crt.pem -config example-com.cfg
  3. openssl​ を使用して非公開キーを復号化します。

    openssl rsa -in example-com-private.pem -out example-com-private-decrypted.pem

本番用の証明書の設定

通常、本番環境で使用する証明書は、有効な認証機関 (CA) によって署名されています。 各 SSL エンドポイントには、複数の CA 証明書と CRL (証明書失効リスト) を設定できます。暗号化されていない、PEM でエンコードされた 1 つのファイルでこれらの各証明書を指定する必要があります。独立した CA 証明書では順序は重要ではありませんが、信頼チェーンの証明書は連結されている必要があります。

Was this article helpful?

💙 Thanks for your feedback!