DXPクラウド上のJVMへの証明書のインポート

問題

  • 外部サービスとの通信を可能にするために、Liferay DXPが動作するサーバーのJVMに証明書をインポートする必要がある場合があります。 以下は、DXPクラウド上でこれを達成する方法です。

環境への配慮

  • DXPクラウド

決議

証明書ファイルの追加

証明書ファイルをインポートできるようにするには、 /lcp/liferaycertificatesという名前のフォルダを作成し、 .pem / .cert ファイルをその上に置いてください。 以下の例では、正しい保存方法を示しています。
/lcp/liferay/certificates/yourcertfile.pem

証明書をインポートするスクリプトの作成

さて、 .sh ファイルを作成して、Liferay DXPの起動時に実行し、 Java Keytoolを使用して証明書をインポートする必要があります。 あなたのスクリプトは次のようになります。

#!/bin/bash

keytool -import -alias ALIAS -keystore /opt/jdk/jre/lib/security/cacerts -file /lcp-container/certificates/YOUR_CERT_FILE -storepass changeit -noprompt

ALIAS YOUR_CERT_FILE を必要に応じて置き換える必要があります。 証明書 liferay.pem をインポートしたい場合は、例えばエイリアス liferayを使用して、以下の例のスクリプトを使用することができます。

#!/bin/bash

keytool -import -alias liferay -keystore /opt/jdk/jre/lib/security/cacerts -file /lcp-container/certificates/liferay.pem -storepass changeit -noprompt

このスクリプトファイルは、 /lcp/liferay/scripts/<env> にあり、証明書をインポートする環境に合わせて <env> を変更する必要があります。 UATにインポートしたい場合、例えば、スクリプトファイルは /lcp/liferay/scripts/uatにあるはずです。

重要です。 スクリプトファイルが実行可能であることを確認してください。 もしそうでない場合は、パーミッションを変更することができます。

chmod +x script.sh

重要[2]: Liferayサービスイメージのバージョンが 3.0.19 よりも古いものを使用している場合、このスクリプトは動作しません。 Liferayのサービススタックのバージョンをアップグレードしてください。

デプロイとインポート

これで、証明書のインポートをトリガーするためのコミットとデプロイの準備が整いました。 ビルドをデプロイした後、Liferayのサービスログを調べることができます。 のようなものが見られるはずです。

[liferay-5d59984f96-smz62] Running /lcp-tmp/script/import.sh
[liferay-5d59984f96-smz62] Certificate was added to keystore
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています