如果公司原則需要,可以使用 CLI 將 vSphere 中使用的某些或全部憑證取代為由第三方或企業 CA 簽署的憑證。如果執行該作業,則 VMCA 將不會在您的憑證鏈結中。您負責將所有 vCenter 憑證儲存到 VECS 中。

您可以取代所有憑證,或使用混合解決方案。例如,考量取代所有用於網路流量的憑證,但保留 VMCA 簽署解決方案使用者憑證。解決方案使用者憑證僅用於向 vCenter Single Sign-On 進行驗證。vCenter Server 僅將解決方案使用者憑證用於內部通訊。不會將解決方案使用者憑證用於外部通訊。
備註: 如果您不希望使用 VMCA,就需要自行負責取代所有憑證、使用憑證佈建新的元件,以及追蹤憑證到期。

即使您決定使用自訂憑證,仍可以使用 VMware Certificate Manager 公用程式進行憑證取代。請參閱使用 Certificate Manager 將所有憑證取代為自訂憑證

如果您在取代憑證後使用 vSphere Auto Deploy 時遇到問題,請參閱 VMware 知識庫文章,網址為 https://kb.vmware.com/s/article/2000988

使用 CLI 要求憑證並匯入自訂根憑證

您可以使用來自企業或第三方 CA 的自訂憑證。第一步是使用 CLI 向憑證授權機構要求憑證並將根憑證匯入 VMware Endpoint 憑證存放區 (VECS)。

必要條件

憑證必須符合以下需求:

  • 金鑰大小:2048 位元 (下限) 至 8192 位元 (上限) (PEM 編碼)
  • PEM 格式。VMware 支援 PKCS8 和 PKCS1 (RSA 金鑰)。金鑰新增到 VECS 之後,會轉換為 PKCS8。
  • x509 第 3 版
  • 若為根憑證,CA 延伸必須設為 true,憑證簽署必須位於需求清單中。
  • SubjectAltName 必須包含 DNS Name=<machine_FQDN>。
  • CRT 格式
  • 包含下列金鑰使用方法:數位簽章、金鑰編密
  • 某天的開始時間早於目前時間。
  • CN (和 SubjectAltName) 設為 ESXi 主機在 vCenter Server 詳細目錄中所擁有的主機名稱 (或 IP 位址)。
備註: vSphere 的 FIPS 憑證僅驗證 2048 位元和 3072 位元的 RSA 金鑰大小。

程序

  1. 將下列憑證的憑證簽署要求 (CSR) 傳送給您的企業或第三方憑證提供者。
    • 每台機器有一個機器 SSL 憑證。對於機器 SSL 憑證,SubjectAltName 欄位必須包含完整網域名稱 (DNS NAME=machine_FQDN)。
    • 或者,每個節點有五個解決方案使用者憑證。解決方案使用者憑證不需包含 IP 位址、主機名稱或電子郵件地址。每個憑證必須具有不同的憑證主體。

    一般來說,會為信任鏈結產生 PEM 檔案,並為每個 vCenter Server 節點產生已簽署的 SSL 憑證。

  2. 列出 TRUSTED_ROOTS 和機器 SSL 存放區。
    vecs-cli store list 
    
    1. 確認目前的根憑證和所有機器 SSL 憑證都經 VMCA 簽署。
    2. 記下序號、簽發者以及主體 CN 欄位。
    3. (選擇性) 使用網頁瀏覽器開啟將取代憑證之節點的 HTTPS 連線,檢視憑證資訊並確認其與機器 SSL 憑證相符。
  3. 停止所有服務,並啟動處理憑證建立、傳播和儲存的服務。
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  4. 發佈自訂根憑證。
    dir-cli trustedcert publish --cert <my_custom_root>
    如果您未在命令列上指定使用者名稱和密碼,系統會提示您指定。
  5. 重新啟動所有服務。
    service-control --start --all

下一步

如果公司原則需要,您可以從憑證存放區移除原始的 VMCA 根憑證。如果您這麼做,必須重新整理 vCenter Single Sign-On 憑證。請參閱使用命令列取代 vCenter Server STS 憑證

使用 CLI 將機器 SSL 憑證取代為自訂憑證

收到自訂憑證後,您可以使用 CLI 取代每個機器憑證。

在開始取代憑證之前,您必須準備好下列資訊:
  • [email protected] 的密碼
  • 有效的機器 SSL 自訂憑證 (.crt 檔案)
  • 有效的機器 SSL 自訂金鑰 (.key 檔案)
  • 有效的自訂根憑證 (.crt 檔案)

必要條件

您一定已收到第三方或企業 CA 核發給每台機器的憑證。

  • 金鑰大小:2048 位元 (下限) 至 8192 位元 (上限) (PEM 編碼)
  • CRT 格式
  • x509 第 3 版
  • SubjectAltName 必須包含 DNS Name=<machine_FQDN>。
  • 包含下列金鑰使用方法:數位簽章、金鑰編密

在每個 vCenter Server 主機上執行這些步驟。

程序

  1. 備份目前的機器 SSL 憑證。
    /usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store MACHINE_SSL_CERT --alias __MACHINE_CERT > oldmachine.crt
    /usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store MACHINE_SSL_CERT --alias __MACHINE_CERT > oldmachinekey.key
  2. 登入每個主機,並將從憑證授權機構收到的新機器憑證新增至 VECS。
    所有主機都需要使用本機憑證存放區中的新憑證,以透過 SSL 進行通訊。
    1. 刪除現有憑證。
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
    2. 新增憑證。
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert <cert-file-path> --key <key-file-path>
  3. 擷取要取代的舊憑證的雜湊。
    openssl x509 -in <path_to_old_machinessl_certificate> -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
  4. 手動更新 Lookup Service 登錄端點。
    /usr/lib/vmware-lookupsvc/tools/ls_update_certs.py --url https://<vCenterServer_FQDN>/lookupservice/sdk --certfile <cert-file-path> --user '[email protected]' --password '<password>' --fingerprint <SHA1_hash_of_the_old_certificate_to_replace>

    如果在執行 ls_update_certs.py 時遇到問題,請參閱 VMware 知識庫文章,網址為 https://kb.vmware.com/s/article/95982

  5. 重新啟動所有服務。
    service-control --stop --all && service-control --start --all