Tomcat8に対して SSLv3でSSL接続できるようにする。

Tomcat8に対して SSLv3でSSL接続できるようにする。

作業の流れ
  • keystoreを作成

keytool.exe -genkey -alias tomcat -keyalg RSA -sigalg SHA1withRSA -validity 7300

  • Javaのセキュリティ設定の変更

java.securityの"jdk.tls.disabledAlgorithms=SSLv3"をコメントアウト

確認環境

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を無効とする定義があるため定義をコメントアウトして無効化する。

修正前:
jdk.tls.disabledAlgorithms=SSLv3

修正後:
#jdk.tls.disabledAlgorithms=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に入力したパスワード"/>

tomcat の SSL対応時に No appropriate protocol (protocol is disabled or cipher suites are inappropriate) 発生時の対応メモ

tomcatSSL対応時に
No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
が出た場合の対応メモ


アドレスの先頭がhttpsになっていることを確認する。

なっていなければ
プロトコルの設定誤りを疑う。

Eclipse で起動時 error 13

javaへのリンクが変わり、使用できないバージョン(64bit版を使用しなければならない環境で32bit版を参照しているなど)を参照している可能性があるため、「システム」→「システムの詳細設定」でシステムのプロパティを開き「詳細設定」タブの「環境変数」ボタンを押して環境変数を操作する。

システム環境変数の「Path」を選択し「編集」ボタンを押す。
使用するJavaディレクトリをbinまで含めて設定する。

Unable to process parts as no multi-part configuration has been provided が表示される

ファイルをアップロードするサーブレット内で

Unable to process parts as no multi-part configuration has been provided 

がthrowされる場合

 

@MultipartConfig(location="")

アノテーションとしてつければおさまるかも。