13.2. (可选)提供信任存储用于访问带有自签名证书的 HTTPS 服务器
Red Hat Process Automation Manager 基础架构的组件可能需要对具有自签名 HTTPS 证书的服务器的 HTTPS 访问。例如,Business Central、Business Central Monitoring 和 KIE 服务器可能需要与使用自签名 HTTPS 服务器证书的内部 Nexus 存储库交互。
在这种情况下,为了确保 HTTPS 连接成功完成,您必须使用信任存储为这些服务提供客户端证书。
如果您不需要 Red Hat Process Automation Manager 组件与使用自签名 HTTPS 服务器证书的服务器进行通信,请跳过这个过程。
先决条件
- 已使用模板部署了 Red Hat Process Automation Manager 环境
- 您有要添加到部署的客户端证书
流程
使用证书准备信任存储。使用以下命令来创建信任存储或将证书添加到现有信任存储中。将所有必需的证书添加到一个信任存储中。
keytool -importcert -file certificate-file -alias alias -keyalg algorithm -keysize size -trustcacerts -noprompt -storetype JKS -keypass truststore-password -storepass truststore-password -keystore keystore-file
替换以下值:
-
certificate-file
:您要添加到信任存储中的证书的路径名称。 -
别名
:信任存储中证书的别名。如果您要向信任存储中添加多个证书,每个证书都必须有一个唯一的别名。 -
算法
:用于证书的加密算法,通常是RSA
。 -
大小
:证书密钥的大小(以字节为单位),例如2048
。 -
truststore-password
:信任存储的密码。 keystore-file
:信任存储文件的路径。如果文件不存在,命令会创建一个新的信任存储。以下示例命令将
/var/certs/rhcs.cer 文件中的证书添加到
文件中的信任存储中。truststore 密码是/
var/keystores/custom-trustore.jksmykeystorepass
。keytool -importcert -file /var/certs/nexus.cer -alias nexus-cert -keyalg RSA -keysize 2048 -trustcacerts -noprompt -storetype JKS -keypass mykeystorepass -storepass mykeystorepass -keystore /var/keystores/custom-trustore.jks
-
使用
oc
命令创建带有 truststore 文件的 secret,例如:oc create secret generic truststore-secret --from-file=/var/keystores/custom-trustore.jks
在基础架构必要组件的部署中,挂载 secret,然后设置
JAVA_OPTS_APPEND
选项,使 Java 应用程序基础架构能够使用遍历存储,例如:oc set volume dc/myapp-rhpamcentr --add --overwrite --name=custom-trustore-volume --mount-path /etc/custom-secret-volume --secret-name=custom-secret oc set env dc/myapp-rhpamcentr JAVA_OPTS_APPEND='-Djavax.net.ssl.trustStore=/etc/custom-secret-volume/custom-trustore.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=mykeystorepass'
oc set volume dc/myapp-kieserver --add --overwrite --name=custom-trustore-volume --mount-path /etc/custom-secret-volume --secret-name=custom-secret oc set env dc/myapp-kieserver JAVA_OPTS_APPEND='-Djavax.net.ssl.trustStore=/etc/custom-secret-volume/custom-trustore.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=mykeystorepass'
将
myapp
替换为您在配置模板时设置的应用程序名称。