証明書の有効期限の確認

VMware vCenter Serverで利用している、vCenter Single Sign-On Security Token Service証明書(以下、STS証明書)、マシンSSL証明書、及びソリューションユーザ証明書の有効期限を確認する方法を説明します。

STS証明書の有効期限の確認

STS証明書の有効期限の確認方法を説明します。

以下のいずれかの方法で確認できます。

【参考】

VMware vSphere Web Clientで確認する方法
【参考】

  • vSphere 6.5の場合は、Webブラウザのアップデートを実施し、Adobe Flash Playerの利用が制限された場合は、VMware vSphere Web Clientでの確認ができません。「スクリプトで確認する方法」を実施してください。

1.VMware vSphere Web Clientを使用し、VMware vCenter Server Applianceに接続します。ユーザ名にはadministrator@vsphere.localを入力し、パスワードにはadministrator@vsphere.localのパスワードを入力します。

2.画面上部の「」を選択し、表示されたメニューから「管理」を選択します。

3.画面左に表示されるメニューの「Single Sign-On」をクリックし、「設定」をクリックします。

「ehv########vcsa.pri.p2.localのSSO設定」画面が表示されます。

4.「証明書」タブをクリック後、「STS証明書」をクリックし、「件名」にチェーン1として2通の証明書が表示されることを確認します。「有効期限の終了日」として表示されている日時がSTS証明書の有効期限となります。

【参考】

2通のうち、「有効期間の開始日」から「有効期限」までの期間が2年の証明書がリーフ証明書、10年の証明書がルート証明書となります。証明書のいずれかの有効期限が切れた場合に、STS証明書は有効期限切れの状態となります。

スクリプトで確認する方法
【参考】

vSphere 6.5の場合のみ実施できます。

本手順では、Windows用フリーソフトウェアとして配布されているターミナルエミュレータ「Tera Term」を使用した確認方法を説明します。

1.以下のURLより「checksts.py」スクリプトをダウンロードします。

https://kb.vmware.com/s/article/79248

【参考】

「checksts.py」スクリプトは、右カラムの「Attachments」のリンクから入手できます。「Attachments」が表示されない場合は、右カラムの「Language」を「English」に変更してください。

2.リモートデスクトップ接続を使用し、運用管理サーバへ接続します。

3.ダウンロードした「checksts.py」スクリプトを、運用管理サーバのローカルディスクへアップロードします。

【参考】

アップロード方法の詳細は「統合管理サーバ、または運用管理サーバのローカルディスクへのアップロード」をご参照ください。

4.スタートボタンをクリックし、「Windows PowerShell」フォルダの「Windows PowerShell」を右クリックして、「管理者として実行する」をクリックします。

5.以下のコマンドを実行し、VMware vCenter Server Applianceに接続します。

【参考】

パスワードに「$」などの特殊文字が含まれる場合は、パスワード全体をシングルクオーテーションで囲んで入力してください。

PS> Connect-VIServer -Server <VMware vCenter Server ApplianceのIPアドレスまたはFQDN> -User administrator@vsphere.local -Password <administrator@vsphere.localのパスワード>

6.以下のコマンドを実行し、checksts.pyスクリプトをVMware vCenter Server Applianceに転送します。

PS> Copy-VMGuestFile -VM <VMware vCenter Server Applianceの仮想マシン名> -LocalToGuest -Source <checksts.pyスクリプトのファイルパス> -Destination "/tmp/checksts.py" -GuestUser root -GuestPassword <VMware vCenter Server Applianceのrootユーザのパスワード>

7.以下のコマンドを実行し、Windows PowerShellを終了します。

PS> exit

8.運用管理サーバからログオフします。

【参考】

運用管理サーバに「Tera Term」をインストールし、後続手順を実行する場合は、ログオフせずに次の手順へ進みます。

9.「Tera Term」を起動し、VMware vCenter Server Applianceに接続します。

【参考】

VMware vCenter Server Applianceに接続する方法については、「VCSAへの接続 > SSHによる接続」をご参照ください。

10.VMware vCenter Server Applianceに接続した後、以下の画面が表示されるため、「shell」と入力し、Enterキーを押します。

11.以下のコマンドを実行し、「checksts.py」スクリプトが存在することを確認します。

# ls -l /tmp/checksts.py
 -rw-r--r-- 1 root root 8042 Aug 10 09:00 /tmp/checksts.py

12.以下のコマンドを実行し、「checksts.py」スクリプトを実行します。

# python /tmp/checksts.py

13.証明書の有効期限を迎えていない場合は、「VALID CERTS」欄に証明書の有効期限が切れるまでの残日数(今回の例では、リーフ証明書が残り671日、ルート証明書が3588日)が表示されます。

2 VALID CERTS
 ================
     LEAF CERTS:
     [] Certificate 66:85:64:80:19:1B:37:E3:AA:72:04:A1:5A:B3:2B:54:FE:2C:41:94 will expire in 671 days (1.0 years).
     ROOT CERTS:
     [] Certificate 9F:FD:DF:78:79:30:F9:31:56:85:05:22:F5:16:B1:03:6B:68:F2:F4 will expire in 3588 days (9.0 years).
 
 0 EXPIRED CERTS
 ================
     LEAF CERTS:
     None
     ROOT CERTS:
     None


すでに証明書の有効期限が切れている場合は、「EXPIRED CERTS」欄に有効期限が切れた証明書が表示され、STS証明書が有効期限切れとなっている旨のメッセージが出力されます。

0 VALID CERTS
 ================ 
     LEAF CERTS:
     None
     ROOT CERTS:
     None
 
 2 EXPIRED CERTS
 ================
     LEAF CERTS:
     [] Certificate 66:85:64:80:19:1B:37:E3:AA:72:04:A1:5A:B3:2B:54:FE:2C:41:94 expired on 2020-08-01 13:00:00 GMT!
     ROOT CERTS:
     [] Certificate 9F:FD:DF:78:79:30:F9:31:56:85:05:22:F5:16:B1:03:6B:68:F2:F4 expired on 2020-08-01 13:00:00 GMT!
   WARNING!
   You have expired STS certificates. Please follow KB: https://kb.vmware.com/s/article/76719
マシンSSL証明書、及びソリューションユーザ証明書の有効期限の確認
vSphere 6.0の場合

マシンSSL証明書、及びソリューションユーザ証明書の有効期限は、統合管理サーバにて、コマンドを実行することで確認できます。

1.リモートデスクトップ接続を使用し、統合管理サーバへ接続します。

2.Windows PowerShellを管理者権限で実行します。

3.以下のコマンドを実行します。

PS> $VCInstallHome = [System.Environment]::ExpandEnvironmentVariables("%VMWARE_CIS_HOME%")
PS> foreach ($STORE in & "$VCInstallHome\vmafdd\vecs-cli" store list){Write-host STORE: $STORE;& "$VCInstallHome\vmafdd\vecs-cli" entry list --store $STORE --text | findstr /C:"Alias" /C:"Not After"}

4.表示された実行結果から、各証明書の有効期限を確認します。実行結果に証明書に関連する「STORE」が表示されます。有効期限は、各証明書の「Not After」に表示されます。

STORE: MACHINE_SSL_CERT
 Alias : __MACHINE_CERT
             Not After : Mar 19 20:38:26 2023 GMT
 STORE: TRUSTED_ROOTS
 Alias : 8f64def576fc1b59a969cebd2be5e21503d4b912
             Not After : Mar 14 08:38:26 2031 GMT
 STORE: TRUSTED_ROOT_CRLS
 Alias : f8df41bc48f51cf47efca3e7379601687c93fce5
 STORE: machine
 Alias : machine
             Not After : Mar 19 08:29:06 2023 GMT
 STORE: vsphere-webclient
 Alias : vsphere-webclient
             Not After : Mar 19 08:29:07 2023 GMT
 STORE: vpxd
 Alias : vpxd
             Not After : Mar 19 08:29:07 2023 GMT
 STORE: vpxd-extension
 Alias : vpxd-extension
             Not After : Mar 19 08:29:08 2023 GMT
 STORE: SMS
 Alias : sms_self_signed
             Not After : Mar 19 08:43:14 2031 GMT
 PS>

対象の証明書に関連する「STORE」は以下のとおりです。

証明書証明書のSTORE
マシンSSL証明書STORE: MACHINE_SSL_CERT
ソリューションユーザ証明書

STORE: machine

STORE: vsphere-webclient

STORE: vpxd

STORE: vpxd-extension

vSphere 6.5、vSphere 7.0、及びvSphere 8.0の場合

マシンSSL証明書、及びソリューションユーザ証明書の有効期限は、VMware vCenter Server ApplianceにSSH接続し、コマンドを実行することで確認できます。なお、SSHでリモート接続するには、SSHクライアントソフトをご用意ください。本オンラインマニュアルでは、Windows用フリーソフトウェアとして配布されているターミナルエミュレータ「Tera Term」を使用した接続方法を説明します。

1.「Tera Term」を起動し、VMware vCenter Server Applianceに接続します。

2.VMware vCenter Server Applianceに接続した後、以下の画面が表示されるため、「shell」と入力し、Enterキーを押します。

3.以下のコマンドを実行します。

# for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | egrep "Alias|Not After"; done
【参考】

本コマンドは1行で入力してください。

4.表示された実行結果から、各証明書の有効期限を確認してください。実行結果に証明書に関連する「STORE」が表示されます。有効期限は、各証明書の「Not After」に表示されます。(今回の例では、マシンSSL証明書、及びソリューションユーザ証明書の有効期限は、2022/6/29です)。

対象の証明書に関連する「STORE」は以下のとおりです。

証明書証明書のSTORE
マシンSSL証明書STORE MACHINE_SSL_CERT
ソリューションユーザ証明書

STORE machine

STORE vsphere-webclient

STORE vpxd

STORE vpxd-extension