VMware Certificate Authority (VMCA) ルート証明書の有効期限が近付いているか、またはその他の理由で証明書を置き換える場合には、CLI を使用して新しいルート証明書を生成し、VMware Directory Service に追加できます。新しいルート証明書を使用すれば、新しいマシン SSL 証明書およびソリューション ユーザー証明書を生成することもできます。
多くの場合、vSphere Certificate Manager ユーティリティを使用して証明書を置き換えます。
詳細な制御が必要な場合には、このシナリオを参照すると、CLI コマンドを使用して証明書のセットをすべて置き換える具体的な手順が詳細に分かります。あるいは、該当するタスクの手順を使用して、個別の証明書のみを置き換えることもできます。
前提条件
[email protected] または CAAdmins グループ内の他のユーザーのみが証明書管理タスクを実行できます。vCenter Single Sign-On グループへのメンバーの追加を参照してください。
CLI を使用した新しい VMCA 署名付きルート証明書の生成
certool CLI を使用して新しい VMCA 署名付き証明書を生成し、証明書を vmdir に発行できます。
手順
例: 新規の VMCA 署名付きルート証明書の生成
- (オプション)vCenter Server で、VMCA ルート証明書を一覧表示し、証明書ストア内に含まれていることを確認します。
/usr/lib/vmware-vmca/bin/certool --getrootca
出力は次のようになります。output: Certificate: Data: Version: 3 (0x2) Serial Number: cf:2d:ff:49:88:50:e5:af ...
- (オプション)VECS TRUSTED_ROOTS ストアの内容を一覧表示し、そこに表示される証明書のシリアル番号と、手順 1 の出力を比較します。
/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store TRUSTED_ROOTS --text
ルート証明書が 1 つだけの単純なケースでは、出力は次のようになります。Number of entries in store : 1 Alias : 960d43f31eb95211ba3a2487ac840645a02894bd Entry type : Trusted Cert Certificate: Data: Version: 3 (0x2) Serial Number: cf:2d:ff:49:88:50:e5:af
- 新しい VMCA ルート証明書を生成します。コマンドは、証明書を VECS と vmdir (VMware Directory Service) の TRUSTED_ROOTS ストアに追加します。
/usr/lib/vmware-vmca/bin/certool --selfca --config=/usr/lib/vmware-vmca/share/config/certool.cfg
CLI を使用したマシン SSL 証明書の VMCA 署名証明書への置き換え
VMCA 署名付きルート証明書を新しく生成したら、vecs-cli コマンドを使用して環境内のすべてのマシン SSL 証明書を置き換えることができます。
他のサービスとの安全な通信を実現するため、各マシンにマシン SSL 証明書が必要です。複数の vCenter Server インスタンスが拡張リンク モード構成で接続されている場合は、各ノードでマシン SSL 証明書生成コマンドを実行する必要があります。
前提条件
すべてのサービスを停止し、証明書の伝達およびストレージを処理するサービスを開始する準備ができている。
手順
例: VMCA 署名付き証明書によるマシン証明書の置き換え
- SSL 証明書用の構成ファイルを作成し、そのファイルを現在のディレクトリに ssl-config.cfg として保存します。
Country = US Name = vmca-<FQDN-example> Organization = <my_company> OrgUnit = <my_company Engineering> State = <my_state> Locality = <mytown> Hostname = <FQDN>
- マシン SSL 証明書にキー ペアを生成します。拡張リンク モード構成で接続された複数の vCenter Server インスタンスの展開では、このコマンドを vCenter Server ノードごとに実行します。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
現在のディレクトリに ssl-key.priv および ssl-key.pub ファイルが作成されます。
- 新しいマシン SSL 証明書を生成します。この証明書は VMCA によって署名されます。VMCA ルート証明書をカスタム証明書で置き換える場合には、VMCA はすべての証明書に完全な証明書チェーンで署名します。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
現在のディレクトリに new-vmca-ssl.crt ファイルが作成されます。
- (オプション)VECS のコンテンツをリスト表示します。
/usr/lib/vmware-vmafd/bin/vecs-cli store list
- vCenter Server のサンプル出力:
output (on vCenter): MACHINE_SSL_CERT TRUSTED_ROOTS TRUSTED_ROOT_CRLS machine vsphere-webclient vpxd vpxd-extension hvc data-encipherment APPLMGMT_PASSWORD SMS wcp KMS_ENCRYPTION
- vCenter Server のサンプル出力:
- VECS 内のマシン SSL 証明書を新しいマシン SSL 証明書で置き換えます。--store と --alias の値はデフォルト名と正確に一致させる必要があります。
- 各 vCenter Server で、次のコマンドを実行して MACHINE_SSL_CERT ストア内のマシン SSL 証明書を更新します。FQDN はマシンごとに異なるため、各マシンの証明書は別々に更新する必要があります。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
- 各 vCenter Server で、次のコマンドを実行して MACHINE_SSL_CERT ストア内のマシン SSL 証明書を更新します。FQDN はマシンごとに異なるため、各マシンの証明書は別々に更新する必要があります。
次のタスク
使用している ESXi ホストの証明書を置き換えることもできます。『vSphere のセキュリティ』ドキュメントを参照してください。
CLI を使用した新規 VMCA 署名付き証明書によるソリューション ユーザー証明書の置き換え
マシン SSL 証明書を置き換えたら、dir-cli コマンドを使用して、すべてのソリューション ユーザー証明書を置き換えることができます。ソリューション ユーザー証明書は有効である必要があります。ここでの「有効」とは、有効期限が切れておらず、証明書に含まれるその他の情報が証明書インフラストラクチャで使用されていないことを意味します。
- 証明書はプロキシの内側に配置されるか、カスタム証明書が使用されます。
- 中間 CAは使用されません。
各 vCenter Server システムのマシン ソリューション ユーザー証明書とソリューション ユーザー証明書を置き換えます。
前提条件
すべてのサービスを停止し、証明書の伝達およびストレージを処理するサービスを開始する準備ができている。
手順
例: VMCA 署名付きソリューション ユーザー証明書の使用
- 拡張リンク モード構成で、各 vCenter Server ノード上のソリューション ユーザーごとにパブリック キーとプライベート キーのペアを生成します。これには、マシン ソリューション用のペアと、追加のソリューション ユーザー (vpxd、vpxd-extension、vsphere-webclient、wcp) ごとのペアが含まれます。
- マシン ソリューション ユーザーにキー ペアを生成します。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
- 各ノードの vpxd ソリューション ユーザーにキー ペアを生成します。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
- 各ノードの vpxd-extension ソリューション ユーザーにキー ペアを生成します。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
- 各ノードの vsphere-webclient ソリューション ユーザーにキー ペアを生成します。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
- 各ノードの wcp ソリューション ユーザーにキー ペアを生成します。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=wcp-key.priv --pubkey=wcp-key.pub
- マシン ソリューション ユーザーにキー ペアを生成します。
- マシン ソリューション ユーザーと、各 vCenter Server ノードの追加ソリューション ユーザー (vpxd、vpxd-extension、vsphere-webclient、wcp) ごとに、新しい VMCA ルート証明書によって署名されたソリューション ユーザー証明書を生成します。
注: --Name パラメータは一意である必要があります。ソリューション ユーザー ストアの名前も含めると、ソリューション ユーザーごとにどの証明書を適用するのかが確認しやすくなります。例には、それぞれ vpxdまたは vpxd-extension のような名前が含まれています。
- /usr/lib/vmware-vmca/share/config/certool.cfg ファイルのコピーを 1 つ作成し、必要に応じて名前、IP アドレス、DNS 名、E メールの各フィールドを変更または削除して、ファイルの名前を sol_usr.cfg などに変更します。
- 各ノードのマシン ソリューション ユーザーに証明書を生成します。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine --config sol_usr.cfg
- 各ノードの vpxd ソリューション ユーザーに証明書を生成します。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd --config sol_usr.cfg
- 各ノードの vpxd-extensions ソリューション ユーザーに証明書を生成します。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension --config sol_usr.cfg
- 次のコマンドを実行して、各ノードの vsphere-webclient ソリューション ユーザーに証明書を生成します。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient --config sol_usr.cfg
- 次のコマンドを実行して、各ノードで wcp ソリューション ユーザーの証明書を生成します。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp --config sol_usr.cfg
- VECS のソリューション ユーザー証明書を、新しいソリューション ユーザー証明書で置き換えます。
注: --store と --alias パラメータは、サービスのデフォルト名と正確に一致させる必要があります。
- 以下のように、各ノードのマシン ソリューション ユーザー証明書を置き換えます。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store machine --alias machine /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store machine --alias machine --cert new-machine.crt --key machine-key.priv
- 各ノードの vpxd ソリューション ユーザー証明書を置き換えます。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd --alias vpxd /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd --alias vpxd --cert new-vpxd.crt --key vpxd-key.priv
- 各ノードの vpxd-extension ソリューション ユーザー証明書を置き換えます。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd-extension --alias vpxd-extension /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd-extension --alias vpxd-extension --cert new-vpxd-extension.crt --key vpxd-extension-key.priv
- 各ノードの vsphere-webclient ソリューション ユーザー証明書を置き換えます。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vsphere-webclient --alias vsphere-webclient /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vsphere-webclient --alias vsphere-webclient --cert new-vsphere-webclient.crt --key vsphere-webclient-key.priv
- 各ノードの wcp ソリューション ユーザー証明書を置き換えます。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store wcp --alias wcp /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store wcp --alias wcp --cert new-wcp.crt --key wcp-key.priv
- 以下のように、各ノードのマシン ソリューション ユーザー証明書を置き換えます。
- 新しいソリューション ユーザー証明書を使用して VMware ディレクトリ サービス (vmdir) を更新します。vCenter Single Sign-On 管理者パスワードを求められます。
- /usr/lib/vmware-vmafd/bin/dir-cli service list を実行し、ソリューション ユーザーごとに一意のサービス ID サフィックスを取得します。このコマンドは、vCenter Server システム上で実行できます。
/usr/lib/vmware-vmafd/bin/dir-cli service list output: 1. machine-623bef28-0311-436e-b21f-6e0d39aa5179 2. vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa5179 3. vpxd-623bef28-0311-436e-b21f-6e0d39aa5179 4. vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa5179 5. hvc-623bef28-0311-436e-b21f-6e0d39aa5179 6. wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e
注: 大規模なデプロイで、ソリューション ユーザー証明書をリストする場合は、 /usr/lib/vmware-vmafd/bin/dir-cli list の出力にすべてのノードのソリューション ユーザーが含まれます。 /usr/lib/vmware-vmafd/bin/vmafd-cli get-machine-id --server-name localhost を実行して、各ホストのローカル マシン ID を検索します。各ソリューション ユーザーの名前には、マシン ID が含まれています。 - 各 vCenter Server ノードの vmdir にあるマシン証明書を置き換えます。たとえば、machine-6fd7f140-60a9-11e4-9e28-005056895a69 が vCenter Server のマシン ソリューション ユーザーの場合、以下のコマンドを実行します。
/usr/lib/vmware-vmafd/bin/dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine.crt
- 各ノードの vmdir にある vpxd ソリューション ユーザー証明書を置き換えます。たとえば、vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 が vpxd ソリューション ユーザー ID の場合、以下のコマンドを実行します。
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
- 各ノードの vmdir にある vpxd-extension ソリューション ユーザー証明書を置き換えます。たとえば、vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 が vpxd-extension ソリューション ユーザー ID の場合、以下のコマンドを実行します。
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
- 各ノードの vsphere-webclient ソリューション ユーザー証明書を置き換えます。たとえば、vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 が vsphere-webclient ソリューション ユーザー ID の場合、以下のコマンドを実行します。
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
- 各ノードの wcp ソリューション ユーザー証明書を置き換えます。たとえば、wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e が wcp ソリューション ユーザー ID の場合、以下のコマンドを実行します。
/usr/lib/vmware-vmafd/bin/dir-cli service update --name wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e --cert new-wcp.crt
- /usr/lib/vmware-vmafd/bin/dir-cli service list を実行し、ソリューション ユーザーごとに一意のサービス ID サフィックスを取得します。このコマンドは、vCenter Server システム上で実行できます。
次のタスク
各 vCenter Server ノードのすべてのサービスを再起動します。