1.概要
本ドキュメントでは、akaBot CenterとData ServiceのHTTPSモードを有効化する方法について説明します。
2.前提条件
2.1.システム要件
- akaBot CenterとData Serviceはインストールされており、以下のコンポーネントを使用してHTTP モードで正常に実行されていること。
- Web サーバー Apache Tomcat 8.5
- データベースはMySQLまたはMSSQLまたはOracle
- JDK 11
- ActiveMQ
- CenterとData Serviceが搭載されるマシンでは、JAVA_HOME環境変数が定義されていること。
2.2.ファイル要件
ご配属組織の他のマシンで受け入れられるように、IT部門が発行するグローバル証明書を使用することを強く推奨します。
この場合は、IT部門に連絡し、以下のファイルを入手してください。
- ご配属組織のセキュリティ証明書ファイル。例:fpt.local.cer
- ご自身の個人情報交換ファイル。例:fpt.pfx
それ以外の場合は、上記のファイル要件を無視してください。
2.3.ファイル要件
以下の情報を用意してください。
- Data Serviceインストール先のディレクトリパス。例:C:
akaBot
DataService
* - Tomcatインストール先のディレクトリ パス(TOMCAT_PATHと呼ばれます)。例:%TOMCAT_PATH% = “C:
Program Files
Apache Software Foundation
Tomcat 8.5”
3.akaBotセキュリティ証明書の準備と信頼
事前にakaBotのセキュリティ証明書を準備し、マシン内で信頼してください。
3.1.akaBotセキュリティ証明書を準備
ステップ1: Javaセキュリティフォルダーを開きます。
フォルダーパス:“C:
Program Files
Java
jdk-11
security”
ステップ2: Javaシステムのcacertsとcacerts - originalのファイルを別のフォルダーにバックアップし、エラー発生時にロールバックできるようにします。
ステップ3:コマンドを用意します。
ケース1:IT部門からの既存の組織証明書を使用する場合は、以下のコマンドで更新します。
- ご自身のパスワード
- IT担当部門が発行したご配属組織のセキュリティ証明書ファイル。例:fpt.local.cer
- IT担当部門が発行したご自身の個人情報交換ファイル。例:fpt.pfx
set ALIAS=akabot set PASSWORD=YOURPASSWORD REM import to java Key keytool -importcert -alias %ALIAS% -keystore "%JAVA_HOME%\lib\security\cacerts" -storepass changeit -file fpt.local.cer REM generate file JKS for JAVA keytool -importkeystore -destkeystore akabot.p12 -deststoretype pkcs12 -alias %ALIAS% -srckeystore fpt.pfx -deststorepass %PASSWORD% keytool -importkeystore -srckeystore akabot.p12 -srcstoretype pkcs12 -srcalias akabot -destkeystore akabot.jks -deststoretype jks -deststorepass %PASSWORD% -destalias %ALIAS% keytool -importkeystore -srckeystore akabot.jks -destkeystore akabot.jks -deststoretype pkcs12 |
ケース2: 自己署名証明書を生成する場合は、以下のコマンドで更新します。
- ご自身のドメイン
- ご自身のパスワード
- ご配属の組織名
set DOMAIN=YOURDOMAIN.COM set ALIAS=akabot set PASSWORD=YOURPASSWORD set ORGANIZATION_NAME=YOUR ORGANIZATION NAME REM Generate keypair: jks file "%JAVA_HOME%\bin\keytool.exe" -genkeypair -alias %ALIAS% -keyalg RSA -keysize 2048 -keystore akabot.jks -storepass %PASSWORD% -keypass %PASSWORD% -dname "CN=%DOMAIN%, OU=Unknown, O=% ORGANIZATION_NAME%, L=Ho Chi Minh, ST=Ho Chi Minh, C=VN" REM Convert to *.p12 file "%JAVA_HOME%\bin\keytool.exe" -importkeystore -srckeystore akabot.jks -srcstoretype JKS -srcstorepass %PASSWORD% -destkeystore akabot.p12 -deststoretype PKCS12 -storepass %PASSWORD% REM Export to *.cer file "%JAVA_HOME%\bin\keytool.exe" -export -alias %ALIAS% -keystore akabot.p12 -storetype PKCS12 -storepass %PASSWORD% -rfc -file akabot.cer REM Import and trust globally REM The default password for the 'cacerts' truststore is usually 'changeit' "%JAVA_HOME%\bin\keytool.exe" -importcert -alias %ALIAS% -keystore "%JAVA_HOME%\lib\security\cacerts" -storepass changeit -file akabot.cer |
ステップ4: コマンドプロンプトを開き、ステップ3で準備したコマンドを実行します。
注:既存の証明書を使用する場合は、証明書ファイル保存先のフォルダーを必ず特定してからコマンドを実行してください。
コマンドが実行されたら、cacertsファイル名はakabot.cerに変更され、akabot.jksとakabot.p12が生成されます。これらのファイルは、証明書を信頼する手順に使用されます。
3.2.証明書を信頼
以下のガイダンスに従うことで、証明書を手動または自動で信頼できます。
3.2.1.手動信頼(マシンのスコープ)
手動で信頼する場合、証明書は信頼できるCenterとData Service搭載のマシンでのみ有効になります。
ステップ1: CenterとData Service搭載のマシンで、「akabot.cer」ファイルをダブルクリックし、対象証明書をローカルマシン>信頼されたルートにインストールします。
ステップ2: 証明書がインストールされたら、「コンピューター証明書を管理→信頼されたルート証明機関」のタブで結果を確認できます。
「akabot.cer」をすべてのエージェントマシンにコピーし、上記のステップ1、ステップ2を繰り返して各マシンで信頼してください。
3.2.2.自動信頼(組織のスコープ)
組織では、すべてのマシンがActive Directoryサーバーに接続されています。Active Directoryサーバーからすべての証明書とポリシーを取得し、ローカルマシンに適用します。この方法を使って、akabot.cerをIT部門に送信することで、CenterとData ServiceマシンとすべてのAgentマシンに対して上記の証明書を自動的に信頼できます。これにより、証明書がIT部門のActive Directoryサーバーの信頼ルートに追加されます。
4.データサービスの設定
ステップ1: 「akabot.p12」をData Serviceインストール先のディレクトリパスにコピーします。例:"C:
akaBot
DataService"
ステップ2:Data Serviceインストール先のディレクトリにあるapplication.ymlを開き、以下の通りに設定します。
ステップ3: win-install.batに以下の内容が含まれていることを確認します。
5.akaBot Centerを設定
ステップ1:ファイル「akabot.jks」を %TOMCAT_PATH%
conf にコピーします。
ステップ 2:上記ディレクトリ内のserver.xmlの内容が次のようになっていることを確認します。
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="200" SSLEnabled="true" scheme="https" secure="true" maxParameterCount="1000" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/akabot.jks" keystorePass="YOURPASSWORD" keyAlias="akabot"> </Connector> |
ステップ3: 「akabot.p12」を %TOMCAT_PATH%
webapps
ROOT
WEB-INF
classes
config にコピーします。
ステップ4: 上記ディレクトリ内のapplication-prod.xml に以下の内容が含まれていることを確認します。
ステップ5: Tomcat設定のアプリケーションを実行し、以下のコードをJavaオプションに追加し、akaBot Center がプロファイル「prod,tls」を使用することを確認します。
-Dspring.profiles.active=prod,tls
6.アプリケーションの実行
ステップ1: akaBot Data Service をインストールして開始するには、管理者権限で「win-install.bat」を実行します。
ステップ2: Windowsサービスにより、akaBot Data ServiceとTomcatサービスの実行を開始します。