JavaプロジェクトのTomcatにSSL証明書を実装する必要がある場合があります。 tomcatでのSSLの実装は、NginxやApacheなどのWebサーバーでの実装とはどういうわけか異なります。この記事では、TomcatにSSL証明書をインストールする方法を学習します。 Java環境がすでに構成されており、Tomcatサーバーが実行されていることを前提としています。
キーストアを作成する
Javaは、セキュリティ証明書リポジトリとしてJavaKeyStoreとしても知られるJKSを提供します。 JDKとJREはどちらも、コマンドラインユーティリティツール keytool を提供します キーストアを作成および管理するため。次のコマンドを実行して、KeyStoreを作成します。
$ keytool -genkey -alias tomcat.linuxways.com -keyalg RSA -keystore /etc/pki/keystore
CSRの作成
自己署名証明書をインストールする場合は、この手順を回避できます。購入したSSL証明書をインストールする場合は、CSRファイルを作成する必要があります。
$ keytool -certreq -keyalg RSA -alias tomcat.linuxways.com -file tomcat.csr -keystore /etc/pki/keystore
キーストアのパスワードを入力するように求めるプロンプトが表示されます。パスワードが送信されると、CSRファイルが生成されます。このCSRファイルを使用して、CA署名付きSSL証明書を購入します。
CA署名付きSSL証明書を取得する
証明書がCAによって発行されると、次のファイルが作成されます。たとえば、ドメイン(tomcat.linuxways.com)を取り上げます。
- tomcat.linuxways.com(CA発行の証明書)
- root.crt(ルート証明書)
- intermediate.crt(中間証明書)
証明書をインストールする
次のコマンドを使用して、CA署名付き証明書をインポートします。
$ keytool -import -alias tomcat.linuxways.com -keystore /etc/pki/keystore -trustcacerts -file path-to-certificate/tomcat.linuxways.com.crt
証明書へのパス は証明書ディレクトリであり、 tomcat.linuxways.com.crt CAが署名したSSL証明書です。
ルート証明書をインストールする
次のコマンドを使用してルート証明書をインポートします。
$ keytool -import -alias root -keystore /etc/pki/keystore -trustcacerts -file path-to-certificate/root.crt
root.crtの場所 ルート証明書ファイルです。
中間証明書をインストールする
次のコマンドを実行して、中間証明書ファイルをインポートします。
$ keytool -import -alias intermediateca -keystore /etc/pki/keystore -trustcacerts -file path-to-certificate/intermediateca.crt
ここでntermediateca.crt は中間証明書ファイルです。
Tomcat構成の変更
必要なすべての証明書をインポートしたら、Tomcatキーストアを構成します。 tomcatインストールフォルダーに移動し、 server.xmlを見つけます。 ファイル。次の内容で構成ファイルを更新します。
$ vi tomcat-installation-directory/config/server.xml
例。
$ vi /opt/tomcat/config/server.xml <Connector port="4443" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="4443" SSLEnabled="true" scheme="https" secure="true" sslProtocol="TLS" keystoreFile="/etc/pki/keystore" keystorePass="_password_" />
デモンストレーションでは、ポート4443が使用されています。環境に応じて任意のポートを選択できます。
Tomcatを再起動します
証明書のインストールが完了しました。変更を反映するためにTomcatサーバーを再起動します。
$ path-to-tomcat/bin/shutdown.sh
$ path-to-tomcat/bin/startup.sh
例、
$ /opt/tomcat/bin/shutdown.sh
$ /opt/tomcat/bin/startup.sh
証明書を確認する
次に、任意のブラウザを使用してTomcatサーバーのURLにアクセスし、証明書を確認します。
https://tomcat-server:<Port>
例、
https://tomcat.linuxways.com:4443
結論
この記事では、CSRファイルを生成し、CA署名付きSSL証明書をTomcatforJavaプロジェクトにインストールする方法を学びました。