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. 対象の証明書を使用してトラストストアを準備します。次のコマンドを使用して、トラストストアを作成するか、証明書を既存のトラストストアに追加します。必要なすべての証明書を 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
  2. 以下のように oc コマンドを使用して、トラストストアファイルでシークレットを作成します。

    oc create secret generic truststore-secret --from-file=/var/keystores/custom-trustore.jks
  3. お使いのインフラストラクチャーに必要なコンポーネントをデプロイする場合は、以下の例のように、シークレットをマウントしてから 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 をテンプレートの設定時に指定したアプリケーション名に置き換えます。