第一代容器中的 Unified Access Gateway 功能需要使用 SSL 进行客户端连接。如果您希望容器具有 Unified Access Gateway 配置,则容器部署向导需要一个 PEM 格式的文件来向容器的 Unified Access Gateway 配置提供 SSL 服务器证书链。单个 PEM 文件必须包含包括私钥在内的整个证书链:SSL 服务器证书、任何必需的中间 CA 证书、根 CA 证书和私钥。
重要提示: 仅当您有权访问第一代控制平面中的第一代租户环境时,此信息才适用。如 知识库文章 92424 中所述,第一代控制平面已终止提供 (EOA)。有关详细信息,请参阅该文章。
有关 Unified Access Gateway 中所用证书类型的其他详细信息,请参阅 Unified Access Gateway 产品文档中标题为选择正确的证书类型的主题。
在容器部署向导的网关设置步骤中,您可以上载一个证书文件。在部署过程中,此文件将提交到已部署的 Unified Access Gateway 实例的配置中。在向导界面中执行上载步骤时,向导将验证您上载的文件是否满足以下要求:
- 该文件可以解析为 PEM 格式。
- 它包含有效的证书链和私钥。
- 该私钥与服务器证书的公钥相匹配。
如果您的证书信息没有 PEM 格式的文件,则必须将证书信息转换为符合上述要求的文件。您必须将非 PEM 格式的文件转换为 PEM 格式,并创建一个包含完整证书链和私钥的 PEM 文件。您还需要编辑该文件以移除额外的信息(如果有),以便向导在解析该文件时不会遇到任何问题。简要步骤如下:
- 将您的证书信息转换为 PEM 格式,然后创建一个包含证书链和私钥的 PEM 文件。
- 编辑该文件以移除除每组
----BEGIN CERTIFICATE----和-----END CERTIFICATE-----标记之间的证书信息之外的额外证书信息(如果有)。
以下步骤中的代码示例假定您从名为 mycaservercert.pfx 的文件开始,其中包含根 CA 证书、中间 CA 证书信息和私钥。
必备条件
-
确认您具有证书文件。该文件可以采用 PKCS#12(
.p12或.pfx)格式,也可以采用 Java JKS 或 JCEKS 格式。重要提示: 证书链中的所有证书都必须具有有效的时间范围。Unified Access Gateway 虚拟机要求证书链中的所有证书(包括任何中间证书)都具有有效的时间范围。如果证书链中的任何证书已过期,则在将证书上载到 Unified Access Gateway 配置时,可能会出现意外故障。
-
熟悉可用于转换证书的
openssl命令行工具。有关文档,请查看获取 OpenSSL 软件的供应商站点,或在 openssl.org 中找到手册页。 -
如果证书采用 Java JKS 或 JCEKS 格式,请先熟悉 Java
keytool命令行工具,以便先将证书转换为.p12或.pks格式,然后再转换为.pem文件。
步骤
-
如果证书采用 Java JKS 或 JCEKS 格式,请使用
keytool将证书转换为.p12或.pks格式。重要提示: 在该转换过程中,请使用相同的源和目标密码。
-
如果证书采用 PKCS#12(
.p12或.pfx)格式,或者在将证书转换为 PKCS#12 格式后,请使用openssl将证书转换为.pem文件。例如,如果证书的名称是
mycaservercert.pfx,则可以使用以下命令转换证书:openssl pkcs12 -in mycaservercert.pfx -nokeys -out mycaservercertchain.pem openssl pkcs12 -in mycaservercert.pfx -nodes -nocerts -out mycaservercertkey.pem上面的第一行在 中获取证书
mycaservercert.pfx,并将其以 PEM 格式写入。mycaservercertchain.pem上面的第二行从mycaservercert.pfx获取私钥,并将其以 PEM 格式写入mycaservercertkey.pem -
如果私钥未采用 RSA 格式,请将私钥转换为 RSA 私钥格式。
Unified Access Gateway 实例需要使用 RSA 私钥格式。要检查您是否需要运行此步骤,请查看您的 PEM 文件,查看私钥信息开头是否为
-----BEGIN PRIVATE KEY-----如果私钥以该行开头,则应将私钥转换为 RSA 格式。如果私钥以 开头
-----BEGIN RSA PRIVATE KEY-----,则无需运行此步骤即可转换私钥。要将私钥转换为 RSA 格式,请运行以下命令。
openssl rsa -in mycaservercertkey.pem -check -out mycaservercertkeyrsa.pemPEM 文件中的私钥现在采用 RSA 格式(
-----BEGIN RSA PRIVATE KEY-----和-----END RSA PRIVATE KEY-----)。 -
将证书链 PEM 文件和私钥 PEM 文件中的信息合并为一个 PEM 文件。
以下示例显示了一个示例,其中 的内容
mycaservercertkeyrsa.pem排在第一位(采用 RSA 格式的私钥),接着是 中mycaservercertchain.pem的内容,也就是您的主 SSL 证书,接着是一个中间证书,最后是根证书。-----BEGIN CERTIFICATE----- .... (your primary SSL certificate) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- .... (the intermediate CA certificate) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- .... (the trusted root certificate) -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- .... (your server key from mycaservercertkeyrsa.pem) -----END RSA PRIVATE KEY-----注意: 服务器证书应排在第一位,接着是任何中间证书,最后是受信任的根证书。
-
如果 和
END标记之间存在BEGIN任何不必要的证书条目或无关的信息,请编辑该文件以移除这些内容。
结果
生成的 PEM 文件符合容器部署向导的要求。
此页面对您有帮助吗?