要在 Access Point 设备上存储可信 CA 签名的 TLS/SSL 服务器证书,必须将该证书转换为正确的格式并使用 PowerShell 脚本或 Access Point REST API 配置该证书。

对于生产环境,VMware 强烈建议您尽快替换默认证书。在部署 Access Point 设备时生成的默认 TLS/SSL 服务器证书不是由可信证书颁发机构签发的。

重要:

还可以使用该步骤在到期之前定期替换可信 CA 签发的证书,可能需要每两年替换一次。

此过程介绍如何使用 REST API 替换证书。另一种较为简单的方法是,使用博客帖子“使用 PowerShell 部署 VMware Access Point”(Using PowerShell to Deploy VMware Access Point)(网址为 https://communities.vmware.com/docs/DOC-30835)附带的 PowerShell 脚本。如果已部署指定的 Access Point 设备,则再次运行脚本将通过您指定的当前设置关闭、删除并重新部署该设备。

前提条件

  • 除非已具有有效的 TLS/SSL 服务器证书及其私钥,否则,请从证书颁发机构获取新的签名证书。在生成证书签名请求 (Certificate Signing Request, CSR) 以获取证书时,请确保同时生成一个私钥。不要使用低于 1024 的 KeyLength 值为服务器生成证书。

    要生成 CSR,您必须知道客户端设备用于连接到 Access Point 设备的完全限定域名 (Fully Qualified Domain Name, FQDN) 以及组织单位、组织、城市、州和国家/地区以填写使用者名称。

  • 将证书转换为 PEM 格式的文件,然后将 .pem 文件转换为单行格式。请参阅将证书文件转换为单行 PEM 格式

  • 熟悉 Access Point REST API。安装了 Access Point 的虚拟机上的以下 URL 中提供了该 API 的规范:https://access-point-appliance.example.com:9443/rest/swagger.yaml

过程

  1. 创建一个 JSON 请求以将证书提交到 Access Point 设备。
    {
      "privateKeyPem": "string",
      "certChainPem": "string"
    }

    在此示例中,string 值是按照前提条件中所述创建的 JSON 单行 PEM 值。

  2. 使用 REST 客户端(如 curlpostman)通过 JSON 请求调用 Access Point REST API 并在 Access Point 设备上存储证书和密钥。

    以下示例使用 curl 命令。在此示例中,access-point-appliance.example.comAccess Point 设备的完全限定域名,cert.json 是在上一步中创建的 JSON 请求。

    curl -k -d @- -u 'admin' -H "Content-Type: application/json" -X PUT https://access-point-appliance.example.com:9443/rest/v1/config/certs/ssl < ~/cert.json

下一步做什么

如果签发证书的 CA 不是公认 CA,请配置客户端以信任根证书和中间证书。