署名付き証明書は、SSL 通信に最高レベルの信頼を提供します。

vCloud Director サーバを使用するには、Java キーストア ファイル内に 2 つの SSL 証明書が必要です。1 つは HTTP サービス用で、もう 1 つはコンソール プロキシ サービス用です。信頼できる認証局で署名された証明書か、自己署名付き証明書を使用できます。署名付き証明書は、最高レベルの信頼を提供します。
重要: これらの例では 2,048 ビットのキー サイズを指定しますが、適切なキー サイズを選択する前にインストールのセキュリティ要件を評価する必要があります。NIST Special Publication 800-131A に従い、1,024 ビット未満のキー サイズはサポートされなくなりました。

自己署名付き証明書を作成してインポートするには、自己署名付き SSL 証明書の作成を参照してください。

前提条件

  • このサーバ上の完全修飾ドメイン名および関連付けられた IP アドレスのリストを生成します。
  • HTTP サービスに使用するアドレス、およびコンソール プロキシ サービスに使用するアドレスを選択します。SSL 証明書の作成を参照してください。
  • keytool コマンドを使用して証明書を作成できるように、Java バージョン 7 ランタイム環境のあるコンピュータにアクセスできることを確認します。vCloud Director インストーラでは keytool のコピーが /opt/vmware/vcloud-director/jre/bin/keytool に置かれますが、この手順は Java バージョン 7 ランタイム環境がインストールされていればどのコンピュータでも実行できます。keytool で他のソースから作成された証明書を vCloud Director に使用することはできません。vCloud Director ソフトウェアをインストールして構成する前に証明書を作成してインポートしておくと、インストールと構成のプロセスが簡素化されます。このコマンドラインの例では、keytool がユーザーのパス内にあることを前提としています。これらの例では、キーストアのパスワードは passwd として表されています。
  • どちらのエンドポイントの証明書も X.500 の識別名を含む必要があります。多くの認証局では、認証局が許可する証明書に X.509 のサブジェクト別名拡張子を含めることを推奨しています。vCloud Director では証明書にサブジェクト別名を含める必要はありません。-dname および-ext オプションを含む keytool コマンドについて理解してください。
  • keytool の -dname オプションの引数に必要な情報を収集します。
    表 1. keytool の -dname オプションに必要な情報
    X.500 識別名のサブパート keytool のキーワード 説明
    commonName CN このエンドポイントの IP アドレスに関連付けられた完全修飾ドメイン名。 CN=vcd1.example.com
    organizationalUnit OU この証明書が関連付けられた組織内の、部署または課などの組織単位の名前 OU=Engineering
    organizationName O この証明書が関連付けられた組織の名前 O=Example Corporation
    localityName L 組織が存在する市区町村の名前。 L=Palo Alto
    stateName S 組織が存在する都道府県または州の名前。 S=California
    country C 組織が存在する国の名前。 C=US

手順

  1. HTTP サービスについて信頼されていない証明書を作成します。
    この例のコマンドでは、 certificates.ks という名前のキーストア ファイルに信頼できない証明書が作成されます。わかりやすくするために、 keytool オプションは別の行に配置されています。 -dname オプションの引数に指定された X.500 識別名情報では、「前提条件」に示された値を使用します。 -ext オプションの引数に示された DNS および IP 値は標準の値です。 -dname オプション引数の commonName (CN) 値に指定されたものを含めて、このエンドポイントが到達できるすべての DNS 名を含めてください。ここに示された IP アドレスも含めることができます。
    keytool 
       -keystore certificates.ks
       -alias http 
       -storepass passwd
       -keypass passwd
       -storetype JCEKS
       -genkeypair
       -keyalg RSA
       -keysize 2048
       -validity 365 
       -dname "CN=vcd1.example.com, OU=Engineering, O=Example Corp, L=Palo Alto, S=California, C=US" 
       -ext "san=dns:vcd1.example.com,dns:vcd1,ip:10.100.101.9"
    重要: キーストア ファイルおよびキーストア ファイルが格納されているディレクトリは、ユーザー vcloud.vcloud から読み取り可能である必要があります。 vCloud Director インストーラにより、このユーザーとグループが作成されます。
  2. コンソール プロキシ サービスについて信頼されていない証明書を作成します。
    このコマンドでは、 手順 1 で作成したキーストア ファイルに信頼できない証明書を追加します。わかりやすくするために、 keytool オプションは別の行に配置されています。 -dname オプションの引数に指定された X.500 識別名情報では、「前提条件」に示された値を使用します。 -ext オプションの引数に示された DNS および IP 値は標準の値です。 -dname オプション引数の commonName (CN) 値に指定されたものを含めて、このエンドポイントが到達できるすべての DNS 名を含めてください。ここに示された IP アドレスも含めることができます。
    keytool 
       -keystore certificates.ks
       -alias consoleproxy 
       -storepass passwd
       -keypass passwd
       -storetype JCEKS
       -genkeypair
       -keyalg RSA
       -keysize 2048
       -validity 365 
       -dname "CN=vcd2.example.com, OU=Engineering, O=Example Corp, L=Palo Alto, S=California, C=US" 
       -ext "san=dns:vcd1.example.com,dns:vcd1,ip:10.100.101.9"
  3. HTTP サービスへの証明書署名リクエストを作成します。
    このコマンドでは、証明書署名リクエストをファイル http.csr 内に作成します。
    keytool -keystore certificates.ks -storetype JCEKS -storepass passwd \
    -certreq -alias http -file http.csr -ext "san=dns:vcd2.example.com,dns:vcd2,ip:10.100.101.10"
  4. コンソール プロキシ サービスについて、証明書署名リクエストを作成します。
    このコマンドでは、証明書署名リクエストをファイル consoleproxy.csr 内に作成します。
    keytool -keystore certificates.ks -storetype JCEKS -storepass passwd \
    -certreq -alias consoleproxy -file consoleproxy.csr -ext "san=dns:vcd2.example.com,dns:vcd2,ip:10.100.101.10"
  5. 証明書署名リクエストを認証局に送信します。
    認証局により、Web サーバ タイプを指定するよう求められる場合は、Jakarta Tomcat を使用します。
  6. 署名付き証明書を受信したら、キーストア ファイルにインポートします。
    1. 認証局のルート証明書をキーストア ファイルにインポートします。
      このコマンドでは、ルート証明書を root.cer ファイルから certificates.ks キーストア ファイルにインポートします。
      keytool -storetype JCEKS -storepass passwd -keystore certificates.ks -import -alias root -file root.cer
    2. (オプション) 中間証明書を受信したら、キーストア ファイルにインポートします。
      このコマンドでは、中間証明書を intermediate.cer ファイルから certificates.ks キーストア ファイルにインポートします。
      keytool -storetype JCEKS -storepass passwd -keystore certificates.ks -import -alias intermediate -file intermediate.cer
    3. HTTP サービスの証明書をインポートします。
      このコマンドでは、証明書を http.cer ファイルから certificates.ks キーストア ファイルにインポートします。
      keytool -storetype JCEKS -storepass passwd -keystore certificates.ks -import -alias http -file http.cer
    4. コンソール プロキシ サービスの証明書をインポートします。
      このコマンドでは、証明書を consoleproxy.cer ファイルから certificates.ks キーストア ファイルにインポートします。
      keytool -storetype JCEKS -storepass passwd -keystore certificates.ks -import -alias consoleproxy -file consoleproxy.cer
  7. すべての証明書がインポートされたことを確認するには、キーストア ファイルの内容を一覧表示します。
    keytool -storetype JCEKS -storepass passwd -keystore certificates.ks -list
  8. サーバ グループ内のすべての vCloud Director サーバでこの手順を繰り返します。

次のタスク

certificates.ks キーストア ファイルを作成したコンピュータが、完全修飾ドメイン名とそれに関連付けられた IP アドレスのリストを生成したサーバとは異なる場合、ここでキーストア ファイルをそのサーバにコピーします。構成スクリプトを実行するときに、キーストアのパス名が必要になります。ネットワークおよびデータベース接続の構成を参照してください。