VMware エンドポイント証明書ストア(VECS)の TRUSTED_ROOTS ストアから CA 証明書を削除する
search cancel

VMware エンドポイント証明書ストア(VECS)の TRUSTED_ROOTS ストアから CA 証明書を削除する

book

Article ID: 319856

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

免責事項:これは英文の記事「Removing CA Certificates from the TRUSTED_ROOTS store in the VMware Endpoint Certificate Store(VECS)(326288) 」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • vSphere Client または vSphere Web Client で、証明書の期限切れに関する重大なアラームが表示される。
  • 環境内で使用されている CA 証明書の期限切れが近いか、すでに期限切れである。
  • 証明書がすでに更新され、新しい有効な CA 証明書が適切に設定されている。
  • vSphere Client またはその他の方法を使用して期限切れの CA 証明書を削除すると失敗し、削除後に証明書が VMware Endpoint Certificate Store (VECS) に再びコピーされる。
  • 信頼されたルート証明書を削除します。

Environment

VMware vCenter Server 6.0.x
VMware vCenter Server 6.7.x
VMware vCenter Server 7.0.x
VMware vCenter Server 8.0.x

Cause

有効期限が切れる CA 証明書が VMware Directory Service (VMDIR) に公開されているため、証明書は VECS ストアにコピーされます。
証明書が VECS から削除されると、VMDIR は同期処理中に証明書を VECS に再度追加します。
これは、TRUSTED_ROOTS 証明書ストアの整合性を確保するために行われます。
このストアから誤った証明書を削除すると、環境が回復不能な損傷を受ける可能性があるためです。

Resolution

TRUSTED_ROOTS の VECS ストアから失効した証明書または期限切れの証明書の公開を解除するには以下の手順を実行します。
  1. 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
  2. 削除する証明書を検索し、エイリアスと X509v3 サブジェクト キー識別子をメモします。この例では、次のようになります。
    Alias : 2b724e6dd2####################c3369e2e7f
    X509v3 Subject Key Identifier:
    ED:CF:46:E5:CA:A6:##:##:##:##:##:##:##:##:2C:08:53:10:F9:18


    注: 削除する証明書が複数ある可能性があります。 証明書関連のアラームを回避するには、期限切れで使用されていない証明書を削除する必要があります。


  3. 次のコマンドを使用して、VMware Directory Service に公開された信頼できる証明書をリストします([email protected] パスワードが必要です)。このコマンドは、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 [email protected]:
    Number of certificates: 3
    #1:
    CN(id): EDCF46E5CAA6################2C085310F918
    Subject DN: CN=CA, DC=vsphere, DC=local, C=US, ST=California, O=psc1, OU=VMware
    CRL present: yes
    #2:
    CN(id): 72B1C4C56A1A################A29B78531ED0
    Subject DN: CN=CA, DC=vsphere, DC=local, C=US, ST=California, O=psc2, OU=VMware
    CRL present: yes
    #3:
    CN(id): 7AF0962806F5################DED4F853FF70
    Subject DN: CN=CA, DC=vsphere, DC=local, C=US, ST=California, O=psc1, OU=VMware
    CRL present: yes
  4. 上記の手順 2 のキー識別子と一致する証明書の CN(サムプリント)を見つけます。この例では、証明書はリスト内で次の CN を持つ最初の証明書になります。
    EDCF46E5CAA6################2C085310F918
  5. 手順 4 で確認した ID を使用して、次のコマンドを実行し、環境に合わせて調整します。
    Windows:
    C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli trustedcert get --id EDCF46E5CAA6################2C085310F918 --login [email protected] --password <PASSWORD> --outcert C:\temp\oldcert.cer


    Appliance:
    /usr/lib/vmware-vmafd/bin/dir-cli trustedcert get --id EDCF46E5CAA6################2C085310F918 --login [email protected] --password <PASSWORD> --outcert /tmp/oldcert.cer
  6. 次のコマンドを実行して、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
  7. 次のコマンドを再実行して、証明書が公開解除されたことを確認します。
    Windows:
    C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli trustedcert list

    Appliance:
    /usr/lib/vmware-vmafd/bin/dir-cli trustedcert list
  8. 次のコマンドを実行して、手順 2 で確認したエイリアスを使用して VECS から証明書を削除します。
    Windows:
    C:\Program Files\VMware\vCenter Server\vmafdd>vecs-cli entry delete --store TRUSTED_ROOTS --alias 2b724e6dd2####################c3369e2e7f

    Appliance:
    /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store TRUSTED_ROOTS --alias 2b724e6dd2####################c3369e2e7f
  9. 次のコマンドを実行して、証明書が削除されたことを確認します。
    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
  10. 次のコマンドを実行して、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
  11. 証明書が表示されなくなったことを確認します。すべての 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
  12. PSC と vCenter Server 上のすべてのサービスを再起動し、すべてのサービスが正常に開始および応答していることと、環境にログインして管理できることを確認します。


Additional Information

注記:
  • TRUSTED_ROOTS に、証明書オプション「X509v3 サブジェクト キー識別子」が含まれていない古いエントリがまだ残っている状況が発生する可能性があります。
  • このようなシナリオに対処する最善の方法は、dir-cli によって提供される他のエントリの CN(id) 情報を、実際にサブジェクト キー識別子を持つ TRUSTED_ROOTS 内のエントリのサブジェクト キー識別子と比較することです。
  • 識別されたら、残りの CN (id) のサブジェクト情報を、VECS TRUSTED_ROOTS ストア内の証明書の「Subject」オプションと比較して、どれがストアから削除する証明書と一致するかを判断します。

警告:
  • 操作は慎重に行ってください。誤った証明書の公開が解除されて VECS から削除された場合、環境に回復不可能な損傷を与えることがあります。
  • 削除する証明書が、削除対象に該当する証明書であることを必ず確認してください。
  • 期限切れが近いルート証明書が更新されていること、このルート証明書以下のすべての証明書も非公開にする前に更新または置き換えられていることを確認します。
必須の予防措置:
  • フェデレーション環境のすべての Platform Services Controller がシャットダウンされていることを確認し、電源がオフになっている間にすべてのスナップショットを作成します。スナップショット操作中にレプリケーションが部分的に行われないように、パワーオフする必要があります。スナップショット操作が完了したら、すべての PSC をパワーオンします。また、vCenter システムのスナップショットを作成します。 
  • スナップショットに戻す場合(損傷からの回復が必要な場合)は、レプリケーション データの整合性を確保するために、すべてのノードでパワーオフされたスナップショットの同じ状態に戻す必要があります。