为 IBM® Cloud Private Cloud Foundry 提供证书
在安装 IBM Cloud Private Cloud Foundry 之前,您可以提供自己的证书。
您可以使用自己的认证中心来创建证书,使用外部认证中心来生成证书或手动创建证书。 域证书由两部分组成,即根证书和密钥。
如果不使用自己的证书,将在安装期间使用您在 uiconfig.yml 文件中提供的应用程序域 bluemix_app_domain 和环境域 bluemix_env_domain 的值来创建证书。
完成以下步骤可以手动生成证书。
注释:应用程序和环境域的密钥均为必需,因此必须完成该过程两次。
- 对于环境域
bluemix_env_domain,创建以下证书:*.management.mycompany.com - 对于应用程序域
bluemix_app_domain,创建以下证书:*.apps.mycompany.com
-
生成根证书。
-
运行以下命令:
openssl genrsa -des3 -out rootCA.key 2048 -
为证书提供密码。
- 该证书存储在
rootCA.key文件中。
-
-
对证书进行自签名:
-
运行以下命令:
openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem -
出现提示时,提供证书密码和组织信息。 该证书将在 1024 天后到期。 签名的证书存储在
rootCA.pem文件中。
-
- 将
rootCA.key证书文件及其密码存储在安全位置。 -
为自签名证书生成域密钥。 运行以下命令:
openssl req -new -newkey rsa:2048 -nodes -out star_<your_domain>.csr -keyout star_<your_domain>.key -subj "/C=<country_code>/ST=<state>/L=<locality>/O=<organization_name>/CN=*.<your_domain>"其中,
<your_domain>是 Cloud Foundry 实例的域名,例如inter.mycompany.com。subj参数包含以下数据:<country_code>是双字母国家或地区名称。<state>是省/自治区/直辖市的名称。<locality>是所在地名称,例如城市或乡镇。<organization_name>是组织或公司名称。star_<your_domain>.csr和star_<your_domain>.key文件创建完成。
-
生成域证书。 完成以下步骤:
-
运行以下命令来创建域证书扩展文件
ext_v3:[ v3_req ] subjectAltName=DNS:*.<your_domain>,DNS:<your_domain> -
生成域证书。 运行以下命令来创建
star_<your_domain>.crt文件:openssl x509 -req -in star_<your_domain>.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out star_<your_domain>.crt -days 500 -extensions v3_req -extfile ext_v3其中,
ext_v3是您创建的域证书扩展文件的名称,<your_domain>是 Cloud Foundry 实例的域名。该证书将在 500 天后到期。
-
-
在运行安装脚本之后,必须向 Cloud Foundry 提供证书值。 对于应用程序域和环境域,需要将以下文件的内容放入
launch_deployment.sh -c UICONFIG_TEMLATE_FIL命令引用的uiconfig-templates.yml文件的uiconfig部分:star_<your_domain>.crtstar_<your_domain>.keyrootCA.pem
有关
uiconfig-templates.yml文件内容的更多信息,请参阅安装 IBM® Cloud Private Cloud Foundry。-
手动将值添加到
uiconfig-templates.yml文件。 例如:uiconfig: bluemix_apps_domain_cert: |+ -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- bluemix_apps_domain_cert_rsa_key: |+ -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY----- bluemix_env_domain_cert: |+ -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- bluemix_env_domain_cert_ca: |+ -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- bluemix_env_domain_cert_rsa_key: |+ -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY-----注:显示的顺序必须保持不变。 您可以包含一个或多个值集以启用多个域。
- bluemix_apps_domain_cert 和 bluemix_env_domain_cert 是
star_<env_domain/app_domain>.crt文件的内容。 - bluemix_apps_domain_cert_ca 和 bluemix_env_domain_cert_ca 是
rootCA.pem文件的内容。 - bluemix_apps_domain_cert_rsa_key 和 bluemix_env_domain_cert_rsa_key 是
star_<env_domain/app_domain>.key文件的内容。- 从命令行提供这些值。
-
添加管理(环境)证书:
./cm bmxconfig -m [--key star_<your_domain>.key] [--cert star_<your_domain>.crt] [--rootCA rootCA.pem] -
添加应用程序证书:
./cm bmxconfig -a [--key star_<your_domain>.key] [--cert star_<your_domain>.crt] [--rootCA rootCA.pem]
- bluemix_apps_domain_cert 和 bluemix_env_domain_cert 是