vSphere Lifecycle Manager の修正のタスクで "VIB に含まれている署名が無効であるか破損しています" というエラーが発生する
search cancel

vSphere Lifecycle Manager の修正のタスクで "VIB に含まれている署名が無効であるか破損しています" というエラーが発生する

book

Article ID: 450161

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項: これは英文の記事 vSphere Lifecycle Manager remediation fails with "VIB contains an invalid or corrupted signature" の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズコンテンツは最新情報ではない可能性があります。最新情報は英語版の記事を参照してください。


Symptoms:

  • vLCM のホストの修正タスクが "VIB contains an invalid or corrupted signature" (VIB に含まれている署名が無効であるか破損しています) というエラーで失敗します。
  • ESXi は時刻同期されています。
  • インストールが失敗している VIB はサードパーティのベンダから提供されています。
  • ESXi ホストの /var/log/lifecycle.log には次のようなエントリが記録されます。
    YYYY-mm-DDTHH:MM:SS.zzzZ Db(15) lifecycle[####]: Vib:2128 Verifying VIB ##VIB_NAME## signature #1
    ...
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11)[+] lifecycle[####]: ##VIB_NAME##: ('##VIB_NAME##', 'Could not find a trusted signer: unable to get local issuer certificate')
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101 Traceback (most recent call last):
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101   File "/lib64/python3.8/site-packages/vmware/esximage/HostImage.py", line 909, in _download_and_stage
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101     arvib.VerifyAcceptanceLevel()
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101   File "/lib64/python3.8/site-packages/vmware/esximage/Vib.py", line 2080, in VerifyAcceptanceLevel
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101     policyobj.Verify(self)
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101   File "/lib64/python3.8/site-packages/vmware/esximage/AcceptanceLevels.py", line 144, in Verify
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101     self.VerifySignature(vib, checkCertDates)
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101   File "/lib64/python3.8/site-packages/vmware/esximage/AcceptanceLevels.py", line 209, in VerifySignature
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101     signer = vib.VerifySignature(self.verifyobj,
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101   File "/lib64/python3.8/site-packages/vmware/esximage/Vib.py", line 2147, in VerifySignature
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101     raise err
    YYYY-mm-DDTHH:MM:SS.zzzZ Er(11) lifecycle[####]: imagemanagerctl:101 vmware.esximage.Errors.VibSigInvalidError: ('##VIB_NAME##', 'Could not find a trusted signer: unable to get local issuer certificate')

Environment

VMware vSphere ESXi

Cause

この問題は、VIB を署名した認証局が ESXi の信頼済みの証明書ストアに含まれていない場合に発生します。

vLCM が ESXi に VIB をステージングする際、VIB に含まれている署名を検証します。VIB を署名した認証局が ESXi ホストによって信頼されていない場合、VIB 自体が破損していなくても署名検証プロセスは VibSigInvalidError で失敗します。

 

Resolution

この問題を解決するには、次のいずれかを実施します。

オプション 1 (推奨)

VIB の提供元のサードパーティベンダへ問い合わせ、VMware の正式な認証局で署名された VIB を入手してインストールします。

オプション 2 (回避策)

正式に署名された VIB がすぐに入手できず、VIB を直ちにインストールする必要がある場合は、VIB を手動でインストールすることで署名の検証プロセスをスキップできます。

警告: コマンドラインで VIB をインストールすると、vLCM で ESXi の状態が '非準拠' となります。正式に署名された VIB を入手した後、ホストを '準拠' の状態とするため新しい VIB を vLCM でインストールする必要がある場合があります。

手順:

  1. VIB のオフラインバンドル (.zip 形式) をデータストアにアップロードします。
  2. root ユーザで ESXi に SSH 接続します。
  3. (必要な場合) VIB が CommunitySupported の分類の場合、ホストの許容レベルを CommunitySupported に下げる必要があります。
    esxcli software acceptance set --level CommunitySupported
  4. --no-sig-check オプションを使用して VIB をインストールします。
    esxcli software vib install -d /vmfs/volumes/[DATASTORE_NAME]/[VIB_FILE_NAME].zip --no-sig-check
  5. コマンドの出力で Reboot Required: true と表示されている場合は、ホストを再起動します。