注:
- 該当するシステムに vCenter Server 6.0 Update 1b をインストールしても、もう一度証明書を置き換えるまで、問題は解決しません。
- この Update で解決されるのは、Certificate Manager ユーティリティを使用した証明書の置き換えの問題です。この Update で、Services Controller UI からの証明書の置き換えの問題は解決されません。
外部 Platform Services Controller のある環境でこの問題を回避するには、証明書を置き換えるたびに、vCenter Server システムと Platform Services Controller の両方の Lookup Service の登録情報を更新する必要があります。サービス登録情報を ls_update_certs.py スクリプトを使用して更新します。
注:
- 常に Platform Services Controller でこのスクリプトを実行してください。
- スクリプトを実行するには、古い vCenter Server 証明書のサムプリントと新しい証明書が必要です。これらの証明書は、スクリプトを実行する前に Platform Services Controller にアップロードする必要があります。
- スクリプトを実行する前に既存の証明書を必ずバックアップしてください。
- 証明書を置き換えるたびにこのスクリプトを実行してください。
ソリューションの概要
スクリプトの実行方法は、マシン SSL 証明書を置き換えた場所により異なります。
証明書を Platform Services Controller のみで置き換えた | Platform Services Controller でスクリプトを実行し、Platform Services Controller の古い証明書および新しい証明書を渡します。 |
証明書を vCenter Server システム のみで置き換えた | Platform Services Controller でスクリプトを実行し、古い vCenter Server 証明書のサムプリントと新しい vCenter Server 証明書を渡します。 |
証明書を vCenter Server システムと Platform Services Controller の両方で置き換えた |
Platform Services Controller で 2 回スクリプトを実行します。Platform Services Controller 証明書を置き換えた後、スクリプトを 1 度実行し、vCenter Server 証明書を置き換えた後再度実行するのが理想的です。
|
タスク 0:PSC と vCenter のための sslTrust アンカーを検証する
PSC アプライアンスのコマンド ラインから sslTrust アンカーを検証する
- SSH を使用して外部 Platform Services Controller アプライアンスにログインします。
- 次のコマンドを実行して、Bash シェルへのアクセスを有効にします。
shell.set --enabled true
- 「shell」と入力し、Enter キーを押します。
Platform Services Controller 上で SSL 証明書を置き換えた場合:
- 次のコマンドを実行して、Platform Services Controller のために格納された現在の sslTrust アンカーを取得します。
/usr/lib/vmidentity/tools/scripts/lstool.py list --url https://localhost/lookupservice/sdk --no-check-cert --ep-type com.vmware.cis.cs.identity.sso 2>/dev/null
例:
注:読みやすさを考慮して、SSL トラストは一部省略しています。
Service Product: com.vmware.cis
Service Type: cs.identity
Service ID: 04608398-1493-4482-881b-b35961bf5141
Site ID: vmware
Owner ID: [email protected]
Version: 2.0
Endpoints:
Type: com.vmware.cis.cs.identity.sso
Protocol: wsTrust
URL: https://homepsc.vmware.local/sts/STSService/vsphere.local
SSL trust: MIIDWDCCAkCgAwIBAgIJANr+++MJ5+WxMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV ... LqSKWg/apP1XlBV1VyC5LPZrH/rrq8+Naoj7i/P6HAzTwAAL+O10ggClaP8=
- 次のコマンドを実行して、Platform Services Controller のポート 443 で使用される現在の SSL 証明書を取得します。
echo | openssl s_client -connect localhost:443
例:
注:読みやすさを考慮して、実際の文字列を大幅に省略しています。
CONNECTED(00000003)
depth=3 /DC=local/DC=VMWARE/CN=VMWARE-WCA-CA-1
verify return:1
depth=2 /DC=local/DC=VMWARE/CN=VMWARE-WCAI-CA-1
verify return:1
depth=1 /C=US/DC=vsphere/DC=local/O=psc.vmware.local/CN=CA
verify return:1
depth=0 /CN=psc.vmware.local/C=US
verify return:1
---
Certificate chain
0 s:/CN=psc.vmware.local/C=US
i:/C=US/DC=vsphere/DC=local/O=psc.vmware.local/CN=CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDWDCCAkCgAwIBAgIJANr+++MJ5+WxMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV
...
LqSKWg/apP1XlBV1VyC5LPZrH/rrq8+Naoj7i/P6HAzTwAAL+O10ggClaP8=
-----END CERTIFICATE-----
- vSphere ドメインに複数の vCenter Server がある場合は、残りの VC ノードに対して FQDN を使用してコマンドを繰り返します。
echo | openssl s_client -connect vcenter2.vmware.local:443
- openssl s_client と lstool.py の出力を使用して、返される SSL 証明書が vCenter Server に一致しているかどうかを確認します。一致する場合は、以降の手順を実行する必要はありません。一致しない場合は、「タスク 1:管理対象オブジェクト ブラウザ (MOB) から古い証明書を取得する」に進んで sslTrust アンカーの更新を開始します。
vCenter Server 上で SSL 証明書を置き換えた場合:
-
- 次のコマンドを実行して、vCenter Servers のために格納された現在の sslTrust アンカーを取得します。
/usr/lib/vmidentity/tools/scripts/lstool.py list --url https://localhost/lookupservice/sdk --no-check-cert --ep-type com.vmware.vim 2>/dev/null
例:
注:読みやすさを考慮して、SSL トラストは一部省略しています。
Name: AboutInfo.vpx.name
Description: AboutInfo.vpx.name
Service Product: com.vmware.cis
Service Type: vcenterserver
Service ID: e29107d1-565d-436e-a0ed-6ecf1eb613a7
Site ID: site
Node ID: ffd86dd8-3f01-11e5-a40a-0050569c12c2
Owner ID: [email protected]
Version: 6.0
Endpoints:
Type: com.vmware.vim
Protocol: vmomi
URL: https://vcenter.vmware.local:443/sdk
SSL trust: MIIDfjCCAmagAwIBAgIJAMLCByASkdjPMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV...v2zUN54IrTl1lfAA8eb6Xy9miKsYZoYan5mgzb+GGD2yLw==
- 次のコマンドを実行して、vCenter Server のポート 443 で使用される現在の SSL 証明書を取得します。
echo | openssl s_client -connect vcenter_server_FQDN:443
モデルとして以下の例を使用します。
注:読みやすさを考慮して、実際の文字列を大幅に省略しています。
CONNECTED(00000003)
depth=3 /DC=local/DC=VMWARE/CN=VMWARE-WCA-CA-1
verify return:1
depth=2 /DC=local/DC=VMWARE/CN=VMWARE-WCAI-CA-1
verify return:1
depth=1 /C=US/DC=vsphere/DC=local/O=psc.vmware.local/CN=CA
verify return:1
depth=0 /CN=vcenter.vmware.local/C=US
verify return:1
---
Certificate chain
0 s:/CN=vcenter.vmware.local/C=US
i:/C=US/DC=vsphere/DC=local/O=psc.vmware.local/CN=CA
1 s:/C=US/DC=vsphere/DC=local/O=psc.vmware.local/CN=CA
i:/DC=local/DC=VMWARE/CN=VMWARE-WCAI-CA-1
2 s:/DC=local/DC=VMWARE/CN=VMWARE-WCAI-CA-1
i:/DC=local/DC=VMWARE/CN=VMWARE-WCA-CA-1
---
Server certificate
-----BEGIN CERTIFICATE----
MIIDfjCCAmagAwIBAgIJAMLCByASkdjPMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV
...
v2zUN54IrTl1lfAA8eb6Xy9miKsYZoYan5mgzb+GGD2yLw==
-----END CERTIFICATE-----
- vSphere ドメインに複数の vCenter Server がある場合は、残りの VC ノードに対して FQDN を使用してコマンドを繰り返します。
echo | openssl s_client -connect vcenter2.vmware.local:443
- openssl s_client と lstool.py の出力を使用して、出力される SSL 証明書が vCenter Server に一致しているかどうかを確認します。一致する場合は、以降の手順を実行する必要はありません。一致しない場合は、「タスク 1:管理対象オブジェクト ブラウザ (MOB) から古い証明書を取得する」に進んで sslTrust アンカーの更新を開始します。
Windows PSC のインストールでコマンド ラインから sslTrust アンカーを検証する
- リモート デスクトップ接続および管理者認証情報を使用して、外部 Platform Services Controller に接続します。
- [スタート] > [実行] をクリックし、「cmd」と入力して [OK] をクリックします。
Platform Services Controller 上で SSL 証明書を置き換えた場合:
- 次のコマンドを実行して、Platform Services Controller のために格納された現在の sslTrust アンカーを取得します。
"%VMWARE_PYTHON_BIN%" "%VMWARE_CIS_HOME%\VMware Identity Services\lstool\scripts\lstool.py" list --url https://localhost/lookupservice/sdk --no-check-cert --ep-type com.vmware.cis.cs.identity.sso 2> NULL
例:
注:読みやすさを考慮して、SSL トラストは一部省略しています。
Service Product: com.vmware.cis
Service Type: cs.identity
Service ID: 04608398-1493-4482-881b-b35961bf5141
Site ID: vmware
Owner ID: [email protected]
Version: 2.0
Endpoints:
Type: com.vmware.cis.cs.identity.sso
Protocol: wsTrust
URL: https://psc.vmware.local/sts/STSService/vsphere.local
SSL trust: MIIDWDCCAkCgAwIBAgIJANr+++MJ5+WxMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV ... LqSKWg/apP1XlBV1VyC5LPZrH/rrq8+Naoj7i/P6HAzTwAAL+O10ggClaP8=
- 次のコマンドを実行して、Platform Services Controller のポート 443 で使用される現在の SSL 証明書を取得します。
"%VMWARE_OPENSSL_BIN%" s_client -connect localhost:443
例:
CONNECTED(00000003)
depth=3 /DC=local/DC=VMWARE/CN=VMWARE-WCA-CA-1
verify return:1
depth=2 /DC=local/DC=VMWARE/CN=VMWARE-WCAI-CA-1
verify return:1
depth=1 /C=US/DC=vsphere/DC=local/O=psc.vmware.local/CN=CA
verify return:1
depth=0 /CN=psc.vmware.local/C=US
verify return:1
---
Certificate chain
0 s:/CN=psc.vmware.local/C=US
i:/C=US/DC=vsphere/DC=local/O=psc.fvmware.local/CN=CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDWDCCAkCgAwIBAgIJANr+++MJ5+WxMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV
...
LqSKWg/apP1XlBV1VyC5LPZrH/rrq8+Naoj7i/P6HAzTwAAL+O10ggClaP8=
-----END CERTIFICATE-----
- vSphere ドメインに複数の vCenter Server がある場合は、残りの vCenter Server ノードに対して FQDN を使用してコマンドを繰り返します。
"%VMWARE_OPENSSL_BIN%" s_client -connect vcenter2.vmware.local:443
- openssl s_client と lstool.py の出力を使用して、出力される SSL 証明書が Platform Services Controller に一致しているかどうかを確認します。一致する場合は、以降の手順を実行する必要はありません。一致しない場合は、「タスク 1:管理対象オブジェクト ブラウザ (MOB) から古い証明書を取得する」に進んで sslTrust アンカーの更新を開始します。
vCenter Server 上で SSL 証明書を置き換えた場合:
- 次のコマンドを実行して、vCenter Servers のために格納された現在の sslTrust アンカーを取得します。
"%VMWARE_PYTHON_BIN%" "%VMWARE_CIS_HOME%\VMware Identity Services\lstool\scripts\lstool.py" list --url https://localhost/lookupservice/sdk --no-check-cert --ep-type com.vmware.vim 2>NULL
例:
注:読みやすさを考慮して、SSL トラストは一部省略しています。
Name: AboutInfo.vpx.name
Description: AboutInfo.vpx.name
Service Product: com.vmware.cis
Service Type: vcenterserver
Service ID: e29107d1-565d-436e-a0ed-6ecf1eb613a7
Site ID: vmware
Node ID: ffd86dd8-3f01-11e5-a40a-0050569c12c2
Owner ID: [email protected]
Version: 6.0
Endpoints:
Type: com.vmware.vim
Protocol: vmomi
URL: https://vcenter.vmware.local:443/sdk
SSL trust: MIIDfjCCAmagAwIBAgIJAMLCByASkdjPMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV...v2zUN54IrTl1lfAA8eb6Xy9miKsYZoYan5mgzb+GGD2yLw==
- 次のコマンドを実行して、vCenter Server のポート 443 で使用される現在の SSL 証明書を取得します。
"%VMWARE_OPENSSL_BIN%" s_client -connect vcenter_server_FQDN:443
モデルとして以下の例を使用します。
注:読みやすさを考慮して、実際の文字列を大幅に省略しています。
CONNECTED(00000003)
depth=3 /DC=local/DC=VMWARE/CN=VMWARE-WCA-CA-1
verify return:1
depth=2 /DC=local/DC=VMWARE/CN=VMWARE-WCAI-CA-1
verify return:1
depth=1 /C=US/DC=vsphere/DC=local/O=psc.vmware.local/CN=CA
verify return:1
depth=0 /CN=vcenter.vmware.local/C=US
verify return:1
---
Certificate chain
0 s:/CN=vcenter.vmware.local/C=US
i:/C=US/DC=vsphere/DC=local/O=psc.vmware.local/CN=CA
1 s:/C=US/DC=vsphere/DC=local/O=psc.vmware.local/CN=CA
i:/DC=local/DC=VMWARE/CN=VMWARE-WCAI-CA-1
2 s:/DC=local/DC=VMWARE/CN=VMWARE-WCAI-CA-1
i:/DC=local/DC=VMWARE/CN=VMWARE-WCA-CA-1
---
Server certificate
-----BEGIN CERTIFICATE----
MIIDfjCCAmagAwIBAgIJAMLCByASkdjPMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV
...
v2zUN54IrTl1lfAA8eb6Xy9miKsYZoYan5mgzb+GGD2yLw==
-----END CERTIFICATE-----
- vSphere ドメインに複数の PSC がある場合は、残りの PSC ノードに対して FQDN を使用してコマンドを繰り返します。
"%VMWARE_OPENSSL_BIN%" s_client -connect vcenter2.vmware.local:443
- openssl s_client と lstool.py の出力を使用して、出力される SSL 証明書が vCenter Server に一致しているかどうかを確認します。一致する場合は、以降の手順を実行する必要はありません。一致しない場合は、「タスク 1:管理対象オブジェクト ブラウザ (MOB) から古い証明書を取得する」に進んで sslTrust アンカーの更新を開始します。
タスク 1:管理対象オブジェクト ブラウザ (MOB) から古い証明書を取得する
Platform Service Controller に管理対象オブジェクト ブラウザを使用して接続して vCenter Server システムの古い証明書を取得します。この手順を実行して、ArrayOfLookupServiceRegistrationInfo 管理対象オブジェクトの sslTrust フィールドを見つける必要があります。
- Platform Services Controller 上で古い証明書を格納するためのディレクトリを作成します。この記事のガイダンスに、次の場所を使用します。
Platform Services Controller アプライアンス | /certificates/ |
Windows の Platform Services Controller | C:\certificates\ |
- MOB を開くには、ブラウザで https://psc.example.com/lookupservice/mob?moid=ServiceRegistration&method=List にアクセスします。
- 認証情報を求めるプロンプトが表示されたら、[email protected] のユーザー名とパスワードを使用してログインします。
vCenter Single Sign-On ドメインのカスタム名を使用している場合は、そのユーザー名とパスワードを使用します。 - [filterCriteria] テキスト フィールドで、タグ <filterCriteria></filterCriteria> のみが表示されるように値のフィールドを変更し、[メソッドの起動] をクリックします。
これで ArrayOfLookupServiceRegistrationInfo オブジェクトが表示されます。 - どの証明書を置き換えるかに応じて以下を検索します。
vCenter Server | ページ上で vc_hostname_or_IP.example.com を検索 (Ctrl+F) |
Platform Services Controller | ページ上で psc_hostname_or_IP.example.com を検索 (Ctrl+F) |
- 対応する sslTrust フィールドの値を検索します。このフィールドの内容は古い証明書の Base64 エンコードされた文字列です。
Platform Services Controller または vCenter Server のトラスト アンカーを更新するときのモデルとして次の例を使用します。
注:読みやすさを考慮して、実際の文字列を大幅に省略しています。
vCenter Server の場合:
sslTrust | ArrayofString |
MIIDfjCCAmag...
|
url | anyURI | https://vcenter.vmware.local:443/sdk |
Platform Services Controller の場合:
sslTrust | ArrayofString |
MIIDfjCCAbad...
|
url | anyURI | https://psc.vmware.local/sts/STSService/vsphere.local |
- [sslTrust] フィールドの内容をテキスト ドキュメントにコピーします。このドキュメントを old_machine.txt として保存します。
- テキスト エディタで old_machine.txt を開きます。
- 文字列の先頭に -----BEGIN CERTIFICATE----- を追加し、文字列の最後に -----END CERTIFICATE----- を追加します。sslTrust フィールドからコピーしたコンテンツの 64 文字目の後に改行を追加します。
例:
-----BEGIN CERTIFICATE-----
LIIDeDCCAmCgAwIBAgIJAP7kGwWSSd0yMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV
PAMMAkNBMRcwFQYKCZImiZPyLGQBGRYHdnNwaGVyZTEVMBMGCgmSJomT8ixkARkW
QWxvY2FsMQswCQYDVQQGEwJVUzEcMBoGA1UECgwTaG9tZXBzYy5mcml0ei5sb2Nh
NDAeFw0xNTA4MTAwMDMwMjZaFw0yNTA4MDQwMDMwMjVaMCsxHDAaBgNVBAMME2hv
HWVwc2MuZnJpdHoubG9jYWwxCzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG9w0BAQEF
LAOCAQ8AMIIBCgKCAQEAzuf/uVMLwlkUKsMXsUPigqZdrXKzEOEzOQ04q8YgVvDX
w7MAPSTMZzeUsI6P+/4doZU14zAQTl/6dnbwYg65p9mv7CVJb4QgAJH9xFD+33Ab
aQX7za/bWPgyxsPtccnn+si8QQDx9mMZbDzF0gjdARvpKWwVv4lln8iZ8wUahyC7
bxnzc5/oWo4Z3DTruHMnvadHRZWzZTn8YeID06R2g8Yu5c50wXbAvNj3TE4x0Qyv
fUbABXvv2EdYC5tb3g++L6A6tuWYgl+dr4KJ1G5gLvliECAsWsMwtQXq5nH65JdV
XvRUVIlajC9OavGkd+ziT3yRibJBu2NJrLQp7ehgmQIDAQABo2IwYDAeBgNVHREE
FzAVghNob21lcHNjLmZyaXR6LmxvY2FsMB0GA1UdDgQWBBSaRwv8djR7+qg7Wk3A
zib3C3ArljAfBgNVHSMEGDAWgBRkYn4wsyRye8o14OoE3AOTMus6rzANBgkqhkiG
9w0BAQsFAAOCAQEAU3X/ZEDXO8yDRJkjrQH0acxoc76QRDv+3s6yCpPFU8HmqU1E
LmoDq67rHoKZw5ziBR/lGHn5oVHYYuJRFdO/b8NO1t2MnedhAaenqmAr4v0FzH6K
UCgiLq8+ZMPFBz3qFu2i0I8mG6Yy0ud9T4wWUabgZ1C3sDNkQ+NLHXKVxNrPwgQd
3KyrNpXgBQ0+ZWY3xvvdW5yOwnWkeAeqnGRYvzifG9M6DK/YMP1S/akAJvXSgEkJ
PEJ3vlvSRy7l2lvU19upt4O/BAk3ZJ+X5uFtv/4GMdbEVZBCmNDS7Y85NorISiQf
AVy/R2wjP4rNWDfN9DMCcwfPvw/0nFwrpr+0Cg==
-----END CERTIFICATE-----
- old_machine.txt を old_machine.crt として保存します。
- 証明書を(WinSCP または別の SCP クライアントを介して)手順 1 で作成した場所の Platform Services Controller に移動またはアップロードします。
Platform Services Controller アプライアンス | /certificates/old_machine.crt |
Windows の Platform Services Controller | C:\certificates\old_machine.crt |
これで、サムプリントをこの証明書から抽出できます。タスク 2 に進みます。
タスク 2:古い証明書からサムプリントを抽出する
サムプリントは、コマンド ラインから、または証明書ビューア ツールを使用して抽出することができます。証明書を抽出したら、それを Platform Services Controller にアップロードすることができます。
アプライアンスのコマンド ラインからサムプリントを抽出する
- SSH を使用して外部 Platform Services Controller アプライアンスにログインします。
- 次のコマンドを実行して、Bash シェルへのアクセスを有効にします。
shell.set --enabled true
- 「shell」と入力し、Enter キーを押します。
- 次のコマンドを実行して、サムプリントを取得します。
openssl x509 -in /certificates/old_machine.crt -noout -sha1 -fingerprint
- 次のように出力されます。
SHA1 Fingerprint=13:1E:60:93:E4:E6:59:31:55:EB:74:51:67:2A:99:F8:3F:04:83:88
等号の後に続く一連の数字と文字がサムプリントです。
Windows インストールのコマンド ラインからサムプリントを抽出する
- 外部 Platform Services Controller にリモート デスクトップ接続します。
- 管理コマンド プロンプトを開きます。
- 次のコマンドを実行して、サムプリントを取得します。
"%VMWARE_OPENSSL_BIN%" x509 -in c:\certificates\old_machine.crt -noout -sha1 -fingerprint
- 次のように出力されます。
SHA1 Fingerprint=13:1E:60:93:E4:E6:59:31:55:EB:74:51:67:2A:99:F8:3F:04:83:88
等号の後に続く一連の数字と文字がサムプリントです。
証明書ビューア ツールを使用してサムプリントを抽出する
下記の手順を行い、サムプリントを抽出できます。
- 証明書ビューア ツールを使用してファイルを開きます。Windows では、ファイルをダブルクリックすると Windows 証明書 ビューアで開きます。
- SHA1 サムプリント文字列を取得します。Windows 証明書 ビューアで SHA1 サムプリント フィールドを選択します。
- サムプリント文字列をプレーン テキスト エディタにコピーして、スペースをコロンに置き換えるか文字列からスペースを取り除きます。
注:テキスト エディタによっては、非表示文字が先頭に追加される場合があります。サムプリントの最初の文字と関連するスペースを削除し、文字を貼り付けるのではなく入力します。
タスク 3 に進み、新しい証明書を取得します。
タスク 3:新しい証明書を取得する
置き換えている対象に応じて、新しい vCenter Server 証明書、新しい Platform Services Controller 証明書、またはその両方が必要となります。上述の「ソリューションの概要」を参照してください。
新しい証明書をアーカイブしなかった場合は、
vecs-cli を使用して取得できます。
アプライアンスから新しい証明書を取得する
- コンソールまたは SSH セッションを介して vCenter Server または外部 Platform Services Controller アプライアンスにログインします。
- 次のコマンドを実行して、Bash シェルへのアクセスを有効にします。
shell.set --enabled true
- 「shell」と入力し、Enter キーを押します。
- 次のコマンドを実行して、新しい証明書を表示します。
/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store MACHINE_SSL_CERT –-text
- 次のコマンドを実行して、新しい証明書をファイルにエクスポートします。
/usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store MACHINE_SSL_CERT --alias __MACHINE_CERT --output /certificates/new_machine.crt
- vCenter Server 証明書を取得した場合は、スクリプトを実行する前に、(WinSCP または別の SCP クライアントを介して)Platform Services Controller に移動またはアップロードします。
Windows インストールで新しい証明書を取得する
- リモート デスクトップで管理者認証情報を使用して vCenter Server または外部 Platform Services Controller に接続します。
- 管理コマンド プロンプトを開きます。
- 次のコマンドを実行して、新しい証明書を表示します。
"%VMWARE_CIS_HOME%"\vmafdd\vecs-cli entry list --store MACHINE_SSL_CERT --text |more
- 次のコマンドを実行して、新しい証明書をファイルにエクスポートします。
"%VMWARE_CIS_HOME%"\vmafdd\vecs-cli entry getcert --store MACHINE_SSL_CERT --alias __MACHINE_CERT --output c:\certificates\new_machine.crt
- vCenter Server 証明書を取得した場合は、スクリプトを実行する前に、(WinSCP または別の SCP クライアントを介して)Platform Services Controller に移動またはアップロードします。
タスク 4 に進み、タスク 1 ~ 3 で収集した情報を使用して ls_update_certs スクリプトを実行します。
タスク 4:ls_update_certs.py スクリプトを実行する
Platform Services Controller で ls_update_certs.py スクリプトを実行します。スクリプトを正常に実行するには、vCenter Server または Platform Services Controller の古い証明書のサムプリントおよび vCenter Server または Platform Services Controller の新しい証明書の両方が必要です。
注:指定するパスワードに特殊文字またはスペースが含まれている場合は、引用符で囲みます(例. 'Passw0rd!')。パスワードに問題がある場合、以下のエラーメッセージと共にコマンドが失敗します。
YYYY-MM-DD HH:MM:SS INFO com.vmware.vim.sso.client.impl.SecurityTokenServiceImpl$RequestResponseProcessor - Provided credentials are not valid.
Caused by: com.vmware.vim.sso.client.exception.AuthenticationFailedException: Provided credentials are not valid.
警告:このスクリプトのアクションは元に戻すことができません。問題が発生した場合にリカバリを行えるように、仮想マシンのバックアップまたはスナップショットを作成します。
アプライアンスで ls_update_cert を実行する
ls_update_certs スクリプトは /usr/lib/vmidentity/tools/scripts/ls_update_certs.py にあります。
- コンソールまたは SSH セッションを介して外部 Platform Services Controller アプライアンスにログインします。
- 次のコマンドを実行して、Bash シェルへのアクセスを有効にします。
shell.set --enabled true
- 「shell」と入力し、Enter キーを押します。
- 次のコマンドを実行してディレクトリを /usr/lib/vmidentity/tools/scripts/に移動します。
cd /usr/lib/vmidentity/tools/scripts/
- 次のコマンドを実行します:
python ls_update_certs.py --url Lookup_Service_FQDN_of_Platform_Services_Controller --fingerprint Old_Certificate_Fingerprint_from_Task_2 --certfile New_Certificate_Path_from_Task_3 --user [email protected] --password "Password"
例(この例で使用されたフィンガープリントをコピーしない):
python ls_update_certs.py --url https://psc.vmware.com/lookupservice/sdk --fingerprint 11:11:AF:D8:CF:27:6B:EF:F7:49:20:3E:D7:90:8C:F6:A0:A2:E2:30 --certfile /certificates/new_machine.crt --user [email protected] --password "Password"
Platform Services Controller の Windows インストールで ls_update_cert を実行する
- 外部 Platform Services Controller にリモート デスクトップ接続します。
- 管理コマンド プロンプトを開きます。
- 次のコマンドを実行してディレクトリを C:\Program Files\VMware\vCenter Server\VMware Identity Services\lstool\scripts\ に移動します。
cd C:\Program Files\VMware\vCenter Server\VMware Identity Services\lstool\scripts\
- 次のコマンドを実行します:
"%VMWARE_PYTHON_BIN%" ls_update_certs.py --url Lookup_Service_FQDN_of_Platform_Services_Controller --fingerprint Old_Certificate_Fingerprint_from_Task_2 --certfile New_Certificate_Path_from_Task_3 --user Username --password Password
例(この例で使用されたフィンガープリントをコピーしない):
%VMWARE_PYTHON_BIN%" ls_update_certs.py --url https://psc.vmware.com/lookupservice/sdk --fingerprint 13:1E:60:93:E4:E6:59:31:55:EB:74:51:67:2A:99:F8:3F:04:83:88 --certfile c:\certificates\new_machine.crt --user [email protected] --password Password
完了したら、タスク 0 を繰り返して PSC と vCenter エンドポイントが更新されていることを確認します
追加情報
ls_update_cert の構文
次の構文を使用してスクリプトを実行します。
python ls_update_certs.py --url LS_URL --fingerprint OLD_CERT_SHA1_HASH --certfile NEW_CERT_PEM_FILEPATH --user USER --password PASSWORD
LS_URL | Lookup Service の URL。外部 Platform Services Controller で、次の URL をモデルとして使用します。 https://external_platform_services_controller_FQDN.example.com/lookupservice/sdk |
OLD_CERT_SHA1_HASH |
タスク 2 で取得した、証明書を置き換える前に vCenter Server または Platform Services Controller が使用していた証明書のサムプリント。
最初に古い証明書を取得します。
次に古い証明書からサムプリントを取り出します。
注:ファイルシステムでの古い vCenter Server 証明書の検索は推奨しません。
|
NEW_CERT_PEM_FILEPATH |
タスク 3 で取得した、新しい vCenter Server マシン SSL 証明書の PEM エンコードされたファイル。
証明書の置き換えの一部として渡したファイルを使用します。
ファイルを持っていない場合は、「新しい証明書を取得する」の処理を行います。
注:ファイルシステムでの新しい vCenter Server 証明書の検索は推奨しません。
|
USER and PASSWORD | vCenter Single Sign-On の管理者権限を保有するユーザー |
BACKUP_STORE から古い証明書を取得する
vSphere Certificate Manager ユーティリティを使用している場合は、古いマシンの SSL 証明書を VECS 内の BACKUP_STORE から取得できます。
注:バックアップ ストアは、最後の証明書のみ保存します。複数の置換動作を行う場合は、次で説明するように証明書を MOB から取得できます。
vCenter Server Appliance では、古い証明書のサムプリントを次のように取得します:
- 次のコマンドを実行して、Machine_Cert エントリを探し、それが以前の証明書であることを確認します。
/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store BACKUP_STORE --text
- Machine_Cert の下の bkp___Machine_Cert に注意してください。
- 次のコマンドを実行して BACKUP_Store から Machine_Cert を出力します。
/usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store BACKUP_STORE --alias bkp___MACHINE_CERT --output /certificates/old_machine.crt
- 次のコマンドを実行して、サムプリントを出力します。
openssl certificate -fingerprint< -sha1 -noout old_machine.crt -in x509>
出力は次のようになります。
SHA1 Fingerprint=11:41:9F:D8:CF:27:6B:EA:F7:49:20:3E:D7:90:8C:F6:A0:62:E1:31
vCenter Server Windows システムで、古い証明書を次のように取得します:
- 次のコマンドを実行して、Machine_Cert エントリを探し、それが以前の証明書であることを確認します。
"%VMWARE_CIS_HOME%"\vmafdd\vecs-cli entry list --store BACKUP_STORE –text | more
- BACKUP_Store から Machine_Cert