为 SCMB 创建 CA 签署的客户端证书
以下过程介绍如何生成可用于连接到状态更改消息总线 (SCMB) 的 CA 签署的客户端证书。
前提条件
装有 OpenSSL 的环境或同等环境。
可以访问商业或自定义证书颁发机构 (CA) 以处理签名请求。
过程
-
为客户端证书创建新的密钥对。
此命令生成一个文件名为
cert.key
、采用 3072 位加密的新私钥:openssl genrsa -out cert.key 3072
2048 位加密也可生成密钥对,但所得的客户端证书在 HPE OneView 处于 CNSA 模式下时将无法正常工作。
-
使用这个新的密钥对,为客户端证书创建证书签名请求 (CSR)。
此命令使用通过交互式提示输入的数据创建 CSR:
openssl req -new -key cert.key -out cert.csr
必须将此命令的公用名设置为“
rabbitmq_readonly
”,因为 SCMB 服务器被配置为从此用户接受连接。对于其他提示,请输入适合您所在的组织的内容。 -
使用对应于您与 CA 的关系的签名方法创建将用于连接到 SCMB 服务器的客户端证书。
- 如果由商业实体或其他组织提供 CA,请按照 CA 提供的说明签署客户端证书。
- 如果可直接访问 CA 根证书和密钥,请创建一个配置文件 (
openssl.cnf
),其中包括客户端证书正常工作所需的各个选项。例如:[ client ] basicConstraints = CA:FALSE keyUsage = digitalSignature, keyEncipherment, dataEncipherment extendedKeyUsage = clientAuth, msSmartcardLogin nsCertType = client subjectAltName = @alt_names [ alt_names ] email = .
指定客户端证书需要
basicConstraints
、extendedKeyUsage:clientAuth
和nsCertType
所有这三个字段。OpenSSL 专家可根据组织要求和对效果的理解而应用其他设置。有关详细信息,请参阅 OpenSSL 文档。 - 使用所得的配置文件签署 CSR 并生成客户端证书。例如:
openssl x509 -req -CA ca.pem -CAkey ca.key -in cert.csr -out cert.pem -days 365 -set_serial 1 -extfile openssl.cnf -extensions client
-
确保设备信任 CA 根证书以及用于签署 SCMB 客户端证书的任何中间 CA。设备上的 SCMB 服务器只有在信任签署客户端证书的 CA 时才会接受该证书。如果尚未建立这种信任关系,请现在建立信任关系。
注意:
应将签署客户端的中间 CA 证书添加到客户端程序而非设备。
- 转到安全设置 > 管理证书颁发机构证书,然后将 CA 添加到设备中。
任何与 SCMB 服务器的活动连接都将中断,因此需要重新建立这些连接。
- 转到安全设置 > 管理证书颁发机构证书,然后将 CA 添加到设备中。
- 使用所选的客户端程序,连接到设备上的 SCMB 服务器。成功地连接需要在步骤 1 中创建的密钥对、在步骤 3 中创建的客户端证书和一个 CA 证书文件(它包含签署 SCMB 服务器证书的 CA 的根证书以及用于签署客户端证书的任何中间 CA 证书)。
- 如果仍无法连接到 SCMB 服务器,请按照这些故障排除步骤进行操作。