從 CA 收到簽署憑證並將其用做 VMCA 根憑證之後,您可以取代所有機器 SSL 憑證。

這些步驟與取代使用 VMCA 做為憑證授權機構之憑證的步驟基本相同。不過,在此情況下,VMCA 會簽署所有具有完整鏈結的憑證。

每台機器必須具有機器 SSL 憑證,以便與其他服務進行安全通訊。在增強型連結模式組態中連線多個 vCenter Server 執行個體時,必須在每個節點上執行機器 SSL 憑證產生命令。

必要條件

對於每個機器 SSL 憑證,SubjectAltName 必須包含 DNS Name=<Machine FQDN>

程序

  1. 為每部需要新憑證的機器製作一份 certool.cfg 的複本。
    certool.cfg 檔案位於 /usr/lib/vmware-vmca/share/config/ 目錄中。
  2. 編輯每台機器的自訂組態檔以包含該機器的 FQDN。
    按照機器的 IP 位址執行 NSLookup,以查看 DNS 的名稱清單,然後在檔案中為 [主機名稱] 欄位使用該名稱。
  3. 為每台機器產生公開/私密金鑰檔案配對和憑證,並於您先前自訂的組態檔中傳遞。
    例如:
    certool --genkey --privkey=machine1.priv --pubkey=machine1.pub
    certool --gencert --privkey=machine1.priv --cert machine42.crt --Name=Machine42_Cert --config machine1.cfg
  4. 停止所有服務,並啟動處理憑證建立、傳播和儲存的服務。
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  5. 新增憑證到 VECS。
    所有機器都需要使用本機憑證存放區中的新憑證,以透過 SSL 進行通訊。您需要先刪除現有項目,接著再新增項目。
    vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT  
    vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert machine1.cert
    --key machine1.priv
  6. 重新啟動所有服務。
    service-control --start --all
    

範例: 取代機器 SSL 憑證 (VMCA 為中繼 CA)

  1. 為 SSL 憑證建立組態檔,命名為 ssl-config.cfg 並儲存於當前目錄中。
    Country = US
    Name = vmca-<FQDN-example>
    Organization = VMware
    OrgUnit = VMware Engineering
    State = California 
    Locality = Palo Alto
    Hostname = <FQDN>
  2. 為機器 SSL 憑證產生金鑰配對。在增強型連結模式組態中連線的多個 vCenter Server 執行個體的部署中,請在每個 vCenter Server 節點上執行此命令。
    /usr/lib/vmware-vmca/bin/certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
    

    ssl-key.privssl-key.pub 檔案會在當前目錄中建立。

  3. 產生新的機器 SSL 憑證。此憑證是由 VMCA 簽署的。如果您將 VMCA 根憑證取代為自訂憑證,VMCA 會簽署所有具有完整鏈結的憑證。
    /usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg

    new-vmca-ssl.crt 檔案會在當前目錄中建立。

  4. (選用) 列出 VECS 的內容。
    /usr/lib/vmware-vmafd/bin/vecs-cli store list
    • vCenter Server 的輸出範例:
      output (on vCenter):
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
      vsphere-webclient
      vpxd
      vpxd-extension
      hvc
      data-encipherment
      APPLMGMT_PASSWORD
      SMS
      wcp
      KMS_ENCRYPTION
  5. 將 VECS 中的機器 SSL 憑證取代為新的機器 SSL 憑證。--store--alias 值必須與預設名稱完全相符。
    • 在每個 vCenter Server 上,執行下列命令以更新 MACHINE_SSL_CERT 存放區中的機器 SSL 憑證。您必須為每台機器個別更新憑證,因為每台機器的 FQDN 都不相同。
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv