![[16.0.0.3 and later]](../ng_v16003plus.gif)
使用第三方证书设置集合体
SSL 保护控制器和成员之间的通信。集合体中每台服务器均具有其自己的身份,此身份由服务器的主机名、用户目录和服务器名称组成。集合体中每台服务器具有缺省情况下名为 serverIdentity.jks 和 collectiveTrust.jks 的两个密钥库。密钥库包含声明其自己的身份以及与集合体中其他成员和控制器安全建立通信所需的 SSL 证书。为使应用程序建立 HTTPS 入站连接,每台服务器具有超过两个密钥库(缺省情况下名为 key.jks 和 trust.jks)。
开始之前
需要构造 Liberty 集合体。有关更多信息,请参阅产品文档中的配置 Liberty 集合体和集合体安全性。
要在集合体控制器和集合体成员之间建立安全 SSL 连接,通过集合体实用程序创建一组 SSL 证书。这些证书的专有名称 (DN) 包含 OU=controllerRoot 或 OU=memberRoot,具体取决于是在集合体控制器端还是在集合体成员端使用了证书。这些证书将添加到控制器或成员各自的密钥库。这些证书可确保在集合体的不同组成部分之间建立安全 SSL 连接。
您可以使用第三方认证中心 (CA) 签署的 SSL 证书,实现集合体的不同 Liberty 服务器之间的相同 SSL 安全连接。
- rootkeys.jks
- 密钥库仅存在于集合体控制器端,且包含两个自签名个人证书(别名为 controllerroot 和 memberroot)。系统使用这些证书来按该顺序对集合体控制器个人证书和集合体成员个人证书进行签署。提示: 创建控制器后,可以选择使用认证中心签署的您自己的证书替换 rootkeys.jks 密钥库中的证书。
- serverIdentity.jks
- 密钥库包含控制器端的控制器个人证书以及成员端的成员个人证书,在执行 collective create 操作期间会自动创建此证书。缺省情况下,控制器个人证书由 controllerroot 签署,成员个人证书由 rootKeys.jks 中的 memberroot 签署。
- collectiveTrust.jks
- 密钥库包含对控制器个人证书和成员个人证书进行签署的签署者证书,例如,controllerroot 和 memberroot。
- key.jks
- 密钥库包含控制器端的控制器个人证书以及成员端的成员个人证书,在执行 collective create 操作期间会自动创建此证书。缺省情况下,控制器个人证书由 controllerroot 签署,成员个人证书由 memberroot 签署。
- trust.jks
- 密钥库包含对控制器个人证书和成员个人证书进行签署的签署者证书,例如,controllerroot 和 memberroot。
以下图像显示控制器证书和成员证书:

关于此任务
配置和更改集合体设置,以便其可使用由第三方认证中心签署的 SSL 证书。将新配置添加到 server.xml 文件以支持由第三方 CA 签署的 SSL 证书。此配置可识别用于集合体操作的非缺省证书。
您的配置包含以下内容:
<collectiveCertificate rdn="name=value"></collectiveCertificate>.
- name
- 证书专有名称中的任何属性名称
- 值
- 专有名称中的 rdn 属性值
<collectiveCertificate rdn="EMAIL=abcd@xyz.com"></collectiveCertificate>