Tomcat8に対して SSLv3でSSL接続できるようにする。
Tomcat8に対して SSLv3でSSL接続できるようにする。
作業の流れ
- keystoreを作成
keytool.exe -genkey -alias tomcat -keyalg RSA -sigalg SHA1withRSA -validity 7300
- Javaのセキュリティ設定の変更
参考サイト
keystoreを作成、Tomcatのserver.xmlに設定記載
Tomcat7 でのWebアプリケーションをHTTPS通信に対応させる - Qiita
Javaのセキュリティ設定の変更
Data ware: splunk java SDKのhttps接続でエラー
keystoreを作成
keytool - 鍵と証明書の管理ツール
確認環境
- Windows 10
- InternetExplorer 10
- Tomcat 8.10.33
- JDK 1.8.0_40
keystoreの作成
keytoolにパスを通した状態で以下のコマンドを実行
keytool.exe -genkey -alias tomcat -keyalg RSA -sigalg SHA1withRSA -validity 7300
c:\Program Files\Java\jdk1.8.0_40\bin>keytool.exe -genkey -alias tomcat -keyalg
DSA -sigalg SHA1withDSA -validity 7300
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
姓名は何ですか。
[Unknown]:
組織単位名は何ですか。
[Unknown]:
組織名は何ですか。
[Unknown]:
都市名または地域名は何ですか。
[Unknown]:
都道府県名または州名は何ですか。
[Unknown]:
この単位に該当する2文字の国コードは何ですか。
[Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknownでよろしいで
すか。
[いいえ]: はい
(キーストアのパスワードと同じ場合はRETURNを押してください):#jdk.tls.disabledAlgorithms=SSLv3
新規パスワードを再入力してください:
c:\Program Files\Java\jdk1.8.0_40\bin>
入力は適切に実施すればよいと思います。パスワードはすべて"changeit"で入力しています。
.keystoreというファイルが作成されます。ファイルはホームディレクトリ(C:\Users\ユーザ名)に作成されます。
Javaのセキュリティ設定の変更
Tomcatを実行しているJARの設定ファイルを変更
jreのフォルダの配下の"lib\security"にjava.securityというファイルがあり、SSLv3を無効とする定義があるため定義をコメントアウトして無効化する。
Tomcatのserver.xmlに設定記載
下記のような定義がコメントアウトしてあるためコメントアウトを解除して記載を修正
注意:sslProtocolを定義しているとsslEnabledProtocolsが有効にならない様なので削除する。
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslEnabledProtocols="SSLv3,TLS1,TLS1.1,TLS1.2"
keystoreFile="作成したkeystoreの配置先" keystorePass="keystoreに入力したパスワード"/>