ルート証明書の署名アルゴリズムを SHA1 から SHA2 へ更新後に vCenter Server 7.0 から 8.0 へのアップグレードが Stage2 の pre-check で失敗する
search cancel

ルート証明書の署名アルゴリズムを SHA1 から SHA2 へ更新後に vCenter Server 7.0 から 8.0 へのアップグレードが Stage2 の pre-check で失敗する

book

Article ID: 418303

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

免責事項:これは英文の記事「Upgrading vCenter Server 7.0 to 8.0 fails at the stage2 pre-check after updating the root certificate signature algorithm from SHA1 to SHA2」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


ルート証明書の署名アルゴリズムを SHA1 から SHA2 へ更新後に vCenter Server 7.0 から 8.0 へのアップグレードにて Stage2 の pre-check で下記のエラーが発生します。

Error Support for certificates with weak signature algorithms has been removed in vCenter Server 8.0. The certificate with subject '/DC=###/CN=###/...' in VECS store TRUSTED_ROOTS has weak signature algorithm sha1WithRSAEncryption.

Resolution Replace the certificate with subject '/DC=###/CN=###/...' in VECS store TRUSTED_ROOTS with a certificate that uses the SHA-2 signature algorithm. Caution: Verify that any certificates signed by the problematic certificate are not in use by vCenter Server. Refer to the vCenter Server release notes and VMware KB 89424 for more details.


KB 313460vsphere8_upgrade_certificate_checks.py を実行すると下記結果を確認できます。

YYYY-MM-DD hh:mm:ss.fffZ ERROR #################### Errors Found ####################
YYYY-MM-DD hh:mm:ss.fffZ ERROR
YYYY-MM-DD hh:mm:ss.fffZ ERROR Support for certificates with weak signature algorithms has been removed in vSphere 8.0. Weak signature algorithm certificates must be replaced before upgrade. Refer to the vSphere release notes and VMware KB 89424 for more details. Correct the following 1 issues before proceeding with upgrade.
YYYY-MM-DD hh:mm:ss.fffZ ERROR
YYYY-MM-DD hh:mm:ss.fffZ ERROR 1. The certificate with subject '/DC=###/CN=###/...' in VECS store TRUSTED_ROOTS has weak signature algorithm sha1WithRSAEncryption. The certificate thumbprint is ##:##:...##:##. The certificate Subject Key Identifier is ##:##:...##:##. Caution: Verify that any certificates signed by the problematic certificate are not in use by vCenter Server.
YYYY-MM-DD hh:mm:ss.fffZ ERROR
YYYY-MM-DD hh:mm:ss.fffZ ERROR ######################################################

 

Environment

vCenter Server 8.0.x

Cause

署名アルゴリズムが SHA2 であるルート証明書を導入後も SHA1の署名アルゴリズムのルート証明書が残っていました。

vCenter Server 8.0 では証明書の署名アルゴリズム SHA1 をサポートしていません。

Resolution

vCert.py を使用して SHA1 署名アルゴリズムのルート証明書を削除します。

SHA1 署名アルゴリズムのルート証明書を削除するためには、下記手順を参照してください。

  1. vCenter Server のオフラインスナップショットあるいはバックアップを取得します。

    ※ ELM をご利用の場合は、ELM の全てのノードでオフラインスナップショットを取得してください。

  2. KB 385107 の attachments 添付されている vCert-###.zip をダウンロードします。

  3. KB 385107 に従って vCert.py を実行可能な状態にします。

  4. 下記コマンドにて vCert.py を実行します。
     
    ./vCert.py

  5. 下記プロンプトにて y を入力し、Enter をクリックします。

    Do you acknowledge the risks and wish to continue? [y/n]:

  6. "3. Manage certificates" を選択します。
    下記プロンプトにて 3 を入力し、Enter をクリックします。

    Select an option [1]:

  7. "3. CA certificates in VMware Directory" を選択します。
    下記プロンプトにて 3 を入力し、Enter をクリックします。

    Select an option [Return to main menu]:

  8. 下記プロンプトにてデフォルトで Enter をクリックします。

    Please enter a Single Sign-On administrator account [[email protected]]:

  9. 下記プロンプトにて [email protected] のパスワードを入力し、Enter をクリックします。

    Please provide the password for [email protected]:

  10. 下記のような証明書情報が出力されることを確認します。
         
         -----
         CA Certificates in VMware Directory
         -----------------------------------------------------------------
         1. Alias: #######################################
            Subject: 
            Issuer: 
            End Date: MMM DD hh:mm:ss YYYY GMT
            Subject Key ID: 
            Is CA Cert: Yes

         2. Alias: #######################################
            Subject: 
            Issuer: 
            End Date: MMM DD hh:mm:ss YYYY GMT
            Subject Key ID: 
            Is CA Cert: Yes
         .
         .
         .   
         -----

  11. "2. Remove CA certificate(s) from VMware Directory". を選択します。
    下記プロンプトにて 2 を入力し、Enter をクリックします。

    Select an option [Return to the previous menu]:

  12. 下記プロンプトにて削除対象の証明書番号を入力し、Enter をクリックします。
    ※ 削除対象の証明書の Subject Key ID を持った証明書が 1 の場合は、1 を入力

    Enter the number(s) of the certificate(s) to delete (multiple entries separated by a comma):

  13. 下記のように VECS ストアへルート証明書の削除情報が反映されていることを確認します。
         
         -----
         Remove Certificate(s) from VMware Directory
         -----------------------------------------------------------------
         .
         .
         Refreshing CA certificates to VECS                             OK
         -----

  14. ctrl + c をクリックし、vCert.py を終了します。

  15. 下記コマンドを実行して vCenter Server のサービスを再起動します。

    service-control --stop --all && service-control --start --all

Additional Information

Upgrading vCenter Server or ESXi 8.0 fails during precheck due to a weak certificate signature algorithm

vCert - Scripted vCenter expired certificate replacement