2011-09-14 2 views
9

Tomcat에서 취약한 SSL 암호를 비활성화 할 수 없습니다. http://www.techstacks.com/howto/secure-ssl-in-tomcat.html. 내가 연결을 시도 할 때 내가 톰캣에 다음과 같은 오류가 (IE 또는 ssldigger 사용)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"/> 

:

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) 

을 덧붙여를, 내가 지원되지 않는 암호가 제거 다음과 같이
현재, 제 커넥터가 보인다 (거의 하나씩) 내가 지원 한 것으로 보이는 유일한 것은 SSL_RSA_WITH_RC4_128_MD5이다.

또한 지원되지 않는 암호는 Tomcat의 특정 키 쌍과 관련이 없지만 일반적으로 광범위하게 이용 가능한 암호에 대한 광석.

무엇이 잘못 되었나요?

답변

15

나는 그것이 의존으로 범인이 톰캣 버전을 말 했어야하는 것이 해치지 않을 것 쉼표

+0

이 대답이 효과가 있다면이 대답을 받아 들일 수도 있습니다. 아주 중요한 정보입니다. –

+0

와우, 예. 방금 내 엉덩이를 구해 줬어. 나는이 문제를 12 시간 가까이보고 있었고이 대답을 발견했다. 이것은 옥상에서 외쳐야한다. – Rintoul

0

후 공백 문자이며, 즉 암호의 목록 민감한 공백입니다 분리 out..the 쉼표 생각 연결 블록에서 태그를 사용할 수 있습니다. Tomcat 6.0에서 실행되는 웹 서비스에서 이와 비슷한 문제가 발생했습니다. 은 "암호는"로 SSLCipherSuite해야 할 수 있습니다로

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,..." 

이 제대로 작동하지 않을 수 있습니다,하지만 난이 100 % 확실하지 않다. 이것이 적용될 수 있다고 생각하게 만든 문서는 여기에 있습니다 : https://tomcat.apache.org/tomcat-6.0-doc/apr.html. 같은 페이지에서 구분 기호는 쉼표 (,)가 아니라 콜론 (:)이라고도합니다. 그래서 톰캣 6.0 내가 사용하는 것이 좋습니다 것 중 하나 (. 톰캣 6.0.XX 이상이 대답을 무시)이 톰캣 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:..." 

희망

관련 문제