6.2. 为胶囊服务器创建自定义 SSL 证书
在您要为负载均衡配置的每个胶囊服务器上,为证书签名请求创建一个配置文件,并将负载均衡器和胶囊服务器作为主题备用名称(SAN)包含。
流程
要存储所有源证书文件,请创建一个只能被
root用户访问的目录:# mkdir /root/capsule_cert创建用于签署证书签名请求(CSR)的私钥。
请注意,私钥必须是未加密的。如果您使用密码保护的私钥,请删除私钥密码。
如果您已有此胶囊服务器的私钥,请跳过这一步。
# openssl genrsa -out /root/capsule_cert/capsule_cert_key.pem 4096为 CSR 创建
/root/capsule_cert/openssl.cnf配置文件并包含以下内容:[ req ] req_extensions = v3_req distinguished_name = req_distinguished_name x509_extensions = usr_cert prompt = no [ req_distinguished_name ] commonName = capsule.example.com1 [ v3_req ] basicConstraints = CA:FALSE keyUsage = digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth subjectAltName = @alt_names [alt_names]2 DNS.1 = loadbalancer.example.com DNS.2 = capsule.example.com有关
[ v3_req ]参数及其目的的更多信息,请参阅 RFC 5280: Internet X.509 公钥基础架构证书和证书撤销列表(CRL)配置文件。可选:如果要在 CSR 中添加可辨识名称(DN)详情,请在
[ req_distinguished_name ]部分中添加以下信息:[req_distinguished_name] CN = capsule.example.com countryName = My_Country_Name1 stateOrProvinceName = My_State_Or_Province_Name2 localityName = My_Locality_Name3 organizationName = My_Organization_Or_Company_Name organizationalUnitName = My_Organizational_Unit_Name4 生成 CSR:
# openssl req -new \ -key /root/capsule_cert/capsule_cert_key.pem \1 -config /root/capsule_cert/openssl.cnf \2 -out /root/capsule_cert/capsule_cert_csr.pem3 将证书签名请求发送到证书颁发机构(CA)。同一 CA 必须为 Satellite 服务器和胶囊服务器签名证书。
提交请求时,指定证书的期限。发送证书请求的方法会有所不同,因此请查阅 CA 了解首选方法。根据请求,您可以预期在单独的文件中接收 CA 捆绑包和签名证书。
- 将您从证书颁发机构和胶囊服务器私钥接收的证书颁发机构捆绑包和胶囊服务器证书文件复制到 Satellite 服务器。
在 Satellite 服务器上,验证 Capsule 服务器证书输入文件:
# katello-certs-check \ -c /root/capsule_cert/capsule_cert.pem \1 -k /root/capsule_cert/capsule_cert_key.pem \2 -b /root/capsule_cert/ca_cert_bundle.pem3 如果将
commonName=设置为通配符值*,您必须在katello-certsCapsule 选项。-check命令中添加 the-t保留 example
capsule-certs-generate命令的副本,它由katello-certs-check命令为这个 Capsule 服务器创建证书归档文件来输出。