14.5. 创建 SSL/TLS 证书签名请求

完成以下步骤以创建证书签名请求。

流程

  1. 复制默认 OpenSSL 配置文件:

    $ cp /etc/pki/tls/openssl.cnf .
  2. 编辑新的 openssl.cnf 文件并配置要用于 director 的 SSL 参数。一个要修改的参数类型的示例包括:

    [req]
    distinguished_name = req_distinguished_name
    req_extensions = v3_req
    
    [req_distinguished_name]
    countryName = Country Name (2 letter code)
    countryName_default = AU
    stateOrProvinceName = State or Province Name (full name)
    stateOrProvinceName_default = Queensland
    localityName = Locality Name (eg, city)
    localityName_default = Brisbane
    organizationalUnitName = Organizational Unit Name (eg, section)
    organizationalUnitName_default = Red Hat
    commonName = Common Name
    commonName_default = 192.168.0.1
    commonName_max = 64
    
    [ v3_req ]
    # Extensions to add to a certificate request
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    subjectAltName = @alt_names
    
    [alt_names]
    IP.1 = 192.168.0.1
    DNS.1 = instack.localdomain
    DNS.2 = vip.localdomain
    DNS.3 = 192.168.0.1

    commonName_default 设置为以下条目之一:

    • 如果使用 IP 地址通过 SSL/TLS 访问 director,则使用 undercloud.conf 文件中的 undercloud_public_host 参数。
    • 如果使用完全限定域名通过 SSL/TLS 访问 director,则使用此域名。

    编辑 alt_names 部分,使其包含以下条目:

    • IP - 客户端用于通过 SSL 访问 director 的 IP 地址列表。
    • DNS - 客户端用于通过 SSL 访问 director 的域名列表。其中也包含公共 API IP 地址作为在 alt_names 部分末尾的 DNS 条目。
    注意

    有关 openssl.cnf 的更多信息,请运行 man openssl.cnf 命令。

  3. 运行以下命令以生成证书签名请求 (server.csr.pem):

    $ openssl req -config openssl.cnf -key server.key.pem -new -out server.csr.pem

    确保使用 -key 选项包括 OpenStack SSL/TLS 密钥。

此命令生成 server.csr.pem 文件,这是证书签名请求。使用此文件创建 OpenStack SSL/TLS 证书。