2011-09-14 6 views
9

Tomcatで弱いSSL暗号を無効にできません。 http://www.techstacks.com/howto/secure-ssl-in-tomcat.html
次のように現在、私のコネクタが見えます:Tomcatで利用可能なSSL暗号を制御する方法

..Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA" clientAuth="false" sslProtocol="TLS" keystoreFile="C:\Programs\apache-tomcat-6.0.33\keystore" keystorePass="nn"/> 

私は(IEまたはssldiggerを使用して)接続をしようとしたとき、私はTomcatの中に次のエラーを取得する:

ちなみに
java.lang.IllegalArgumentException: Unsupported ciphersuite SSL_RSA_WITH_RC4_128_SHA 
    at com.sun.net.ssl.internal.ssl.CipherSuite.valueOf(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.CipherSuiteList.<init>(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLEngineImpl.setEnabledCipherSuites(Unknown Source) 
    at org.apache.tomcat.util.net.NioEndpoint.createSSLEngine(NioEndpoint.java:1141) 
    at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:1096) 
    at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1315) 
    at java.lang.Thread.run(Unknown Source) 

、私はサポートされていない暗号を削除(ほぼ1つずつ)、私が残っているのはSSL_RSA_WITH_RC4_128_MD5です。

また、サポートされていない暗号は、Tomcatの特定のキーペアには関連していないが、m広範囲に利用可能な暗号に一般に適用される。

ここで何が間違っていますか?

答えて

15

私は、暗号のリストをカンマ区切りout..theは、犯人は空白文字を使用すると、Tomcatのバージョンを言ったすることが依存することは、損はないコンマ

+0

この回答も受け入れられるかもしれませんが、これは非常に重要な情報です。 –

+0

うわー、ええ。これはちょうど私のお尻を保存した。私は12時間近くこの問題を見てきましたが、この答えが見つかりました。これは屋根から叫ばれるべきです。 – Rintoul

0

後、すなわち空白文字と小文字が区別され、それを考え出しどのタグをConnectionブロックで使用できるかを示します。私はTomcat 6.0で動作するWebサービスでこのような問題を抱えています。 「暗号」はとしているSSLCipherSuiteする必要があるかもしれませんが、私はこの上の100%を確認していないよう

ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,..." 

は、正しく動作しない可能性があります。これが当てはまると思うようになった文書は、https://tomcat.apache.org/tomcat-6.0-doc/apr.htmlにあります。その同じページでは、区切り文字はコンマ(、)ではなくコロン(:)であるとも言われています。 だからのTomcat 6.0のために私はどちらか使用することをお勧めします:

SSLCipherSuite="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384:..." 

または

ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384:..." 

が、これはTomcatの6.0と格闘するために持っている人ホープ(Tomcatの6.0.XX以上のためにこの回答を無視します。)

関連する問題