...
vSphere Client または vSphere Web Client で、証明書の期限切れに関する重大なアラームが表示される。環境内で使用されている CA 証明書の期限切れが近いか、すでに期限切れである。証明書がすでに更新され、新しい有効な CA 証明書が適切に設定されている。Web Client またはその他の方法を使用して期限切れの CA 証明書を削除すると失敗し、削除後に証明書が VECS に再びコピーされる。信頼されたルート証明書を削除します。
有効期限が切れる CA 証明書が VMware Directory Service (VMDIR) に公開されるため、証明書は VECS ストアにコピーされます。証明書が VECS から削除されると、VMDIR は同期処理中に証明書を VECS に再度追加します。これは、TRUSTED_ROOTS 証明書ストアの整合性を確保するために行われます。このストアから誤った証明書を削除すると、環境が回復不能な損傷を受ける可能性があるためです。
WARNING: 操作は慎重に行ってください。誤った証明書の公開が解除され、VECS から削除された場合、環境に回復不可能な損傷を与えることがあります。削除する証明書が、削除対象に該当する証明書であることを必ず確認してください。期限切れが近いルート証明書が更新され、このルート証明書以下のすべての証明書も更新または置き換えられてから公開が解除されることを検証します。 必須の予防措置: フェデレーション環境のすべての Platform Services Controller がシャットダウンされていることを確認し、これらのすべてのスナップショットを作成します。スナップショット操作中にレプリケーションが部分的に行われないように、パワーオフする必要があります。スナップショット操作が完了したら、すべての PSC をパワーオンします。また、vCenter システムのスナップショットを作成します。 スナップショットに戻す場合(損傷からの回復が必要な場合)は、レプリケーション データの整合性を確保するために、すべてのノードでパワーオフされたスナップショットの同じ状態に戻す必要があります。
TRUSTED_ROOTS の VECS ストアから失効した証明書または期限切れの証明書の公開を解除するには以下の手順を実行します。 vecs-cli を使用して証明書をリストします。 vCenter Server Appliance では、パスは次のようになります:/usr/lib/vmware-vmafd/bin Windows vCenter Server では、パスは次のようになります:C:\Program Files\VMware\vCenter Server\vmafdd 次のコマンドを実行します。 Windows: C:\Program Files\VMware\vCenter Server\vmafdd>vecs-cli.exe entry list --store TRUSTED_ROOTS --text | more Appliance: /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store TRUSTED_ROOTS --text | less 削除する証明書を検索し、エイリアスと X509v3 サブジェクト キー識別子をメモします。この例では、次のようになります。 Alias : 2b724e6dd26e38b369a020f279f3bfc3369e2e7f X509v3 Subject Key Identifier: ED:CF:46:E5:CA:A6:8A:75:04:C0:D4:7B:2B:45:2C:08:53:10:F9:18 注: 削除する証明書が複数ある可能性があります。 証明書関連のアラームを回避するには、期限切れで使用されていない証明書を削除する必要があります。 次のコマンドを使用して、VMware Directory Service に公開された信頼できる証明書をリストします(administrator@vsphere.local パスワードが必要です)。このコマンドは、vecs-cli と同じ場所にあります。 Windows: C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli trustedcert list Appliance: /usr/lib/vmware-vmafd/bin/dir-cli trustedcert list これにより、公開された証明書のリストが VMDIR に出力されます。次のような出力が表示されます。 C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli.exe trustedcert list Enter password for administrator@vsphere.local: Number of certificates: 3 #1: CN(id): EDCF46E5CAA68A7504C0D47B2B452C085310F918 Subject DN: CN=CA, DC=vsphere, DC=local, C=US, ST=California, O=psc1, OU=VMware CRL present: yes #2: CN(id): 72B1C4C56A1A8A66B8C57182D551A29B78531ED0 Subject DN: CN=CA, DC=vsphere, DC=local, C=US, ST=California, O=psc2, OU=VMware CRL present: yes #3: CN(id): 7AF0962806F5997107BF9A213E86DED4F853FF70 Subject DN: CN=CA, DC=vsphere, DC=local, C=US, ST=California, O=psc1, OU=VMware CRL present: yes 上記の手順 2 のキー識別子と一致する証明書の CN(サムプリント)を見つけます。この例では、証明書はリスト内で次の CN を持つ最初の証明書になります。 EDCF46E5CAA68A7504C0D47B2B452C085310F918 手順 4 で確認した ID を使用して、次のコマンドを実行し、環境に合わせて調整します。 Windows: C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli trustedcert get --id EDCF46E5CAA68A7504C0D47B2B452C085310F918 --login administrator@vsphere.local --password <PASSWORD> --outcert C:\temp\oldcert.cer Appliance: /usr/lib/vmware-vmafd/bin/dir-cli trustedcert get --id EDCF46E5CAA68A7504C0D47B2B452C085310F918 --login administrator@vsphere.local --password <PASSWORD> --outcert /tmp/oldcert.cer 次のコマンドを実行して、VMDIR から CA 証明書を公開解除します。 Windows: C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli trustedcert unpublish --cert C:\temp\oldcert.cer Appliance: /usr/lib/vmware-vmafd/bin/dir-cli trustedcert unpublish --cert /tmp/oldcert.cer 次のコマンドを再実行して、証明書が公開解除されたことを確認します。 Windows: C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli trustedcert list Appliance: /usr/lib/vmware-vmafd/bin/dir-cli trustedcert list 次のコマンドを実行して、手順 2 で確認したエイリアスを使用して VECS から証明書を削除します。 Windows: C:\Program Files\VMware\vCenter Server\vmafdd>vecs-cli entry delete --store TRUSTED_ROOTS --alias 2b724e6dd26e38b369a020f279f3bfc3369e2e7f Appliance: /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store TRUSTED_ROOTS --alias 2b724e6dd26e38b369a020f279f3bfc3369e2e7f 次のコマンドを実行して、証明書が削除されたことを確認します。 Windows: C:\Program Files\VMware\vCenter Server\vmafdd>vecs-cli entry list --store TRUSTED_ROOTS --text | findstr Alias Appliance: /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store TRUSTED_ROOTS --text | grep Alias 次のコマンドを実行して、VECS を強制的に更新します。これによって、PSC が複数ある場合、環境内の別の PSC に更新がプッシュされます。 Windows: C:\Program Files\VMware\vCenter Server\vmafdd>vecs-cli force-refresh Appliance: /usr/lib/vmware-vmafd/bin/vecs-cli force-refresh 証明書が表示されなくなったことを確認します。すべての PSC で同じコマンドを実行して、手順 10 での更新が正常に完了したことを確認できます。 Windows: C:\Program Files\VMware\vCenter Server\vmafdd>vecs-cli entry list --store TRUSTED_ROOTS --text | findstr Alias Appliance: /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store TRUSTED_ROOTS --text | grep Alias PSC と vCenter Server 上のすべてのサービスを再起動し、すべてのサービスが正常に開始および応答していることと、環境にログインして管理できることを確認します。
他の証明書ストアから期限切れの証明書を削除する方法の詳細については、ナレッジベースの記事「CertificateStatusAlarm - There are certificate that expired or about to expire / Certificate Status Change Alarm Triggered on VMware vCenter Server」を参照してください。