先日の記事のコメント欄に Apache TomcatでもSSL/TLSのプロトコルバージョンを指定できると 教えて頂き、どのバージョンはどの設定なの?みたいな話が、 Google先生に聞いてもよくわからなかったので、 幾つかのバージョンのTomcatを取り出してプロトコルバージョンの設定 方法を確認してみました。
具体的には、Oracle J2SE JDKの1.7.0_71で、
いろいろなバージョンのTomcatについて、
openssl s_client
コマンドでプロトコルバージョンを指定しながら
確認していきます。
それぞれの確認結果はこんな感じ。
Tomcatバージョン | 設定属性 |
---|---|
5.0.28 | protocols |
5.5.36 | protocols |
6.0.32 | protocols |
6.0.37 | protocols |
6.0.39 | sslEnabledProtocols |
6.0.41 | sslEnabledProtocols |
7.0.6 | sslEnabledProtocols |
7.0.35 | sslEnabledProtocols |
7.0.39 | sslEnabledProtocols |
7.0.42 | sslEnabledProtocols |
7.0.56 | sslEnabledProtocols |
8.0.6 | sslEnabledProtocols |
Tomcatバージョン | 設定属性 |
---|---|
5.0.x系と5.5.x 系 | protocols属性で設定可能 |
6.0.0〜6.0.37 | protocols属性で設定可能 |
6.0.39〜 | sslEnabledProtocols属性で設定可能 |
7.0.x系 | sslEnabledProtocols属性で設定可能 |
8.0.x系 | sslEnabledProtocols属性で設定可能 |
6.0.37までのprotocols属性はマニュアルには書かれていない 隠し属性だったみたいですね。6.0.39からなんでパタッと変えたんですかねぇ。 普通なら後方互換性を持たせてprotocolsとsslEnabledProtocolsの両方を 使えるようにすればいいのに、ばっさり、protocolsを切っちゃうのはどうだったんですかねぇ。 せめて6.0.xでは一貫してprotocolsを使うようにした方がよかったんじゃないですかねぇ?