13.2. (オプション) 自己署名証明書で HTTPS サーバーにアクセスするためのトラストストアの提供
Red Hat Process Automation Manager インフラストラクチャーのコンポーネントは、自己署名の HTTPS 証明書を使用するサーバーにアクセスするのに、HTTPS アクセスを使用しないといけない場合があります。たとえば、Business Central、Business Central Monitoring、および KIE Server は、自己署名の HTTPS サーバー証明書を使用する内部の Nexus リポジトリーと対話しないといけない場合があります。
このような場合は、HTTPS 接続が正常に完了するようにするには、トラストストアを使用してこれらのサービスのクライアント証明書を指定する必要があります。
Red Hat Process Automation Manager のコンポーネントが自己署名の HTTPS サーバー証明書を使用するサーバーと通信する必要がない場合は、この手順を飛ばして詰美に進んでください。
前提条件
- テンプレートを使用して Red Hat Process Automation Manager 環境をデプロイしている
- デプロイメントに追加するクライアント証明書がある。
手順
対象の証明書を使用してトラストストアを準備します。次のコマンドを使用して、トラストストアを作成するか、証明書を既存のトラストストアに追加します。必要なすべての証明書を 1 つのトラストストアに追加します。
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
: トラストストアに追加する証明書のパス名。 -
alias
: トラストストアの証明書のエイリアス。トラストストアに複数の証明書を追加する場合は、全証明書に一意のエイリアスが必要です。 -
algorithm
: 証明書に使用する暗号化アルゴリズム。通常はRSA
です。 -
size
: バイト単位での証明書キーの単位 (例:2048
)。 -
truststore-password
: トラストストアのパスワード。 keystore-file
: トラストストアファイルのパス名。ファイルが存在しない場合には、このコマンドにより、新規トラストストアが作成されます。次のコマンド例は、
/var/certs/nexus.cer
ファイルから/var/keystores/custom-trustore.jks
ファイルのトラストストアに証明書を追加します。トラストストアのパスワードはmykeystorepass
です。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
コマンドを使用して、トラストストアファイルでシークレットを作成します。oc create secret generic truststore-secret --from-file=/var/keystores/custom-trustore.jks
お使いのインフラストラクチャーに必要なコンポーネントをデプロイする場合は、以下の例のように、シークレットをマウントしてから
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
をテンプレートの設定時に指定したアプリケーション名に置き換えます。