SSLv3暗号のみを無効にする特定の除外リストがあり、TLSv1/2ではありませんか?.
私は桟橋8を持っていますが、9へのアップグレードは現在の選択肢ではありません。私の現在のjetty-ssl.xmlは次のようになります
<Configure id="Server" class="org.Eclipse.jetty.server.Server">
<Call name="addConnector">
<Arg>
<New class="org.Eclipse.jetty.server.ssl.SslSelectChannelConnector">
<Arg>
<New class="org.Eclipse.jetty.http.ssl.SslContextFactory">
.........
</New>
</Arg>
<Set name="ExcludeCipherSuites">
<Array type="Java.lang.String">
<Item>SSL_RSA_WITH_NULL_MD5</Item>
<Item>SSL_RSA_WITH_NULL_SHA</Item>
<Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item>
<Item>SSL_RSA_WITH_RC4_128_MD5</Item>
<Item>SSL_RSA_WITH_RC4_128_SHA</Item>
<Item>SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5</Item>
<Item>SSL_RSA_WITH_IDEA_CBC_SHA</Item>
<Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
<Item>SSL_RSA_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DH_DSS_WITH_DES_CBC_SHA</Item>
<Item>SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DH_RSA_WITH_DES_CBC_SHA</Item>
<Item>SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item>
<Item>SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item>
<Item>SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DH_anon_EXPORT_WITH_RC4_40_MD5</Item>
<Item>SSL_DH_anon_WITH_RC4_128_MD5</Item>
<Item>SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DH_anon_WITH_DES_CBC_SHA</Item>
<Item>SSL_DH_anon_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_FORTEZZA_KEA_WITH_NULL_SHA</Item>
<Item>SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA</Item>
<Item>SSL_FORTEZZA_KEA_WITH_RC4_128_SHA</Item>
<Item>SSL_DHE_RSA_WITH_AES_128_CBC_SHA</Item>
<Item>SSL_RSA_WITH_AES_128_CBC_SHA</Item>
</Array>
</Set>
</New>
</Arg>
</Call>
それでも「sslscan --no-failed --ssl3 localhost:443」を実行すると、
Supported Server Cipher(s):
Accepted SSLv3 128 bits DHE-RSA-AES128-SHA
Accepted SSLv3 128 bits AES128-SHA
Prefered Server Cipher(s):
SSLv3 128 bits DHE-RSA-AES128-SHA
Jettyソースコードを統合するアプリケーションでは、SSLv3を無効にする必要がありました。コードで変更した内容に基づいて、以下を追加すると思います。
<Set name="ExcludeProtocols">
<Array type="Java.lang.String">
<Item>SSLv3</Item>
</Array>
</Set>
試してみて、うまくいくかどうか教えてください。
@Larsの答えを拡張するには..
Jetty 7、Jetty 8、およびJetty 9の場合、SSLベースのコネクターの構成に使用しているSslContextFactory
のプロトコルSSLv3
(暗号ではない)を除外する必要があります。
突堤分布の場合
${jetty.home}/etc/jetty-ssl.xml
を編集して、次のXMLスニペットを追加します。
<Set name="ExcludeProtocols">
<Array type="Java.lang.String">
<Item>SSLv3</Item>
</Array>
</Set>
org.Eclipse.jetty.http.ssl.SslContextFactory
を管理する要素の内部
Jetty Embeddedの場合
SSLベースのコネクター用に作成/管理するSslContextFactoryは、除外するプロトコルを設定するだけで済みます。
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.addExcludeProtocols("SSLv3");
sslContextFactory.setKeyStorePath(...);
...
Jetty 8.1 whitout ssl3を構成しました。 jetty-ssl.xmlの完全な構造を確認できます。
<Configure id = "Server" class = "org.Eclipse.jetty.server.Server"> <Call name = "addConnector"> < Arg> <New class = "org.Eclipse.jetty.server.ssl.SslSelectChannelConnector"> <Arg> <New class = "org.Eclipse.jetty.http .ssl.SslContextFactory "> <Set name =" keyStore "> ... </ Set> <Set name =" keyStorePassword "> ... </ Set> <Set name = "keyManagerPassword"> ... </ Set> <Set name = "trustStore"> ... </ Set> <Set name = "trustStorePassword> .. 。</ Set <Set name = "ExcludeProtocols"> <Array type = "Java.lang.String"> <Item> SSLv3 </ Item> </ Array> </ Set> </ New> </ Arg> <Set name = "port"> ... < /セット> <Set name = "maxIdleTime"> ... </ Set> </ New> </ Arg> </ Call> </ Configure >