Apache Tomcat이 TLS v1.2 프로토콜을 지원하는지 알고 싶습니다. 이것에 대한 문서를 찾지 못했습니다! 감사!Tomcat은 TLS v1.2를 지원합니까?
답변
TLS 버전 1.2는 JSSE 구현에서 Oracle JDK 버전 7에서 지원됩니다. Tomcat은 기본 SSL 라이브러리로 JSSE를 사용하므로 JDK 버전 1.7 이상에서 지원되어야합니다. 또한 Tomcat에서 사용 가능한 SSL 암호 스위트를 확인하십시오.
Apache를 프록시로 사용하는 경우 Apache 및 기본 OpenSSL 설명서를 확인하십시오.
일부 링크 :
http://docs.oracle.com/javase/7/docs/technotes/guides/security/enhancements-7.html (자바 SE 7 보안 기능 향상)
http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html 나는 또한 TLSv1.1과 아래에 언급 된 sslProtocol 업그레이드를 찾고 있었다 Java6 및 Java7의 링크
Java6 http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html Java7 SSLContext에이 Java6에서 지원 http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html
는 SSL, TLSv1의하고 Java7 SSL, TLSv1의, TLSv1.1 및 TLSv1.2에서 지원됩니다.
그래서 tomcat에서 TLSv1.1 또는 TLSv1.2를 사용하려면 Java7로 업그레이드하고 tomcat의 server.xml에있는 Connector에서 sslProtocol을 변경하십시오.
Tomcat은 JDK 7+의 JSSE를 통해 TLSv1.2를 지원합니다.
톰캣 기본 (APR)과 함께 사용할 경우 톰캣은 TLSv1.1 또는 TLSv1.2를 지원하지 않습니다. https://issues.apache.org/bugzilla/show_bug.cgi?id=53952을 참조하십시오.
업데이트 : TLSv1.2가 Tomcat Native 1.1.32 및 Tomcat 8.0.15/7.0.57에서 최종적으로 지원 될 것으로 보입니다.
TLSv1.1 또는 SSLv3과 같은 이전 SSL 프로토콜로 폴백하지 않고 Tomcat 7이 TLSv1.2 만 엄격하게 사용할 수 있도록하는 유사한 사용 사례가 있습니다. 다음 단계는 Tomcat이 TLSv1.2를 지원할 수있게하는 방법에 대한 대답입니다.
C : \ apache-tomcat-7.0.64-64bit 및 C : \ Java64 \ jdk1.8.0_60입니다.
다음 지침을 따르십시오 : https://tomcat.apache.org/tomcat-7.0-doc/security-howto.html. Tomcat은 비교적 간단하게 SSL 지원을 설정할 수 있습니다.
많은 참고 자료에서 많은 조합을 테스트 한 결과, 결국 TLSv1.2 만 수락하도록 Tomcat 7을 시행 할 1 개가 발견되었습니다.
1) C에서 : \ 아파치 - 톰캣-7.0.64-64bit \의 conf \ server.xml을
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="ssl/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="SSL" sslEnabledProtocols="TLSv1.2" />
곳
keystoreFile이 = 지역 자체 서명 신뢰를이 곳은 터치 필요 store
org.apache.coyote.http11.Http11Protocol = JSSE BIO 구현.
org.apache.coyote.http11.Http11AprProtocol은 openssl을 사용하기 때문에 사용하지 않습니다. 기본 openssl은 초기 SSL 프로토콜을 지원하도록 대체됩니다.
2) Tomcat을 시작할 때 다음 환경 매개 변수를 사용하십시오.
set JAVA_HOME=C:\Java64\jdk1.8.0_60
set PATH=%PATH%;C:\Java64\jdk1.8.0_60\bin
set CATALINA_HOME=C:\apache-tomcat-7.0.64-64bit
set JAVA_OPTS=-Djdk.tls.client.protocols="TLSv1.2" -Dsun.security.ssl.allowUnsafeRenegotiation=false -Dhttps.protocols="TLSv1.2"
JAVA_OPTS 제한은 그렇지 Tomcat이 (Java8에 의해 구동되는) 이전 SSL 프로토콜을 지원하기 위해 다시 떨어질 필요합니다.
톰캣 C를 시작: \ 아파치 - 톰캣-7.0.64-64bit \ 빈 \의 startup.bat를
우리는 JAVA_OPTS 톰캣 시작 로그에 나타납니다 볼 수 있습니다.
Oct 16, 2015 4:10:17 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djdk.tls.client.protocols=TLSv1.2
Oct 16, 2015 4:10:17 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dsun.security.ssl.allowUnsafeRenegotiation=false
Oct 16, 2015 4:10:17 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dhttps.protocols=TLSv1.2
그런 다음 openssl 명령을 사용하여 설정을 확인할 수 있습니다. 먼저 localhost : 8443을 TLSv1.1 프로토콜로 연결하십시오. Tomcat은 서버 인증서로 회신을 거부합니다.
C:\OpenSSL-Win32\bin>openssl s_client -connect localhost:8443 -tls1_1
Loading 'screen' into random state - done
CONNECTED(000001C0)
5372:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:.\ssl\s3_pkt.c:362:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 0 bytes
연결 로컬 호스트 : 8443 TLSv1.2 프로토콜은 Tomcat이 인증서로 ServerHello을 응답 :
C:\OpenSSL-Win32\bin>openssl s_client -connect localhost:8443 -tls1_2
Loading 'screen' into random state - done
CONNECTED(000001C0)
depth=1 C = US, ST = Washington, L = Seattle, O = getaCert - www.getacert.com
verify error:num=19:self signed certificate in certificate chain
---
Certificate chain
0 s:/C=SG/ST=SG/L=Singapore/O=Xxxx/OU=Development/CN=Myself
i:/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com
1 s:/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com
i:/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com
---
Server certificate
-----BEGIN CERTIFICATE-----
(ignored)
-----END CERTIFICATE-----
subject=/C=SG/ST=SG/L=Singapore/O=Xxxx/OU=Development/CN=Myself
issuer=/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com
---
No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2367 bytes and written 443 bytes
이 Tomcat이 지금 엄격하게 TLSv1.2 요청에만 응답 것을 증명한다.
- 1. iOS가 TLS 압축을 지원합니까?
- 2. .NET에서 TLS-PSK를 지원합니까?
- 3. RESTeasy 클라이언트는 TLS/SSL을 지원합니까?
- 4. dart가 클라이언트 SSL/TLS 연결을 아직 지원합니까?
- 5. Tomcat은
- 6. Java에서 사용되는 SSL/TLS 버전을 찾는 방법
- 7. Tomcat은 항상 404를 제공합니다
- 8. Tomcat은 작동하지 않습니다
- 9. 메이븐 이클립스 Tomcat은 ClassNotFoundException가
- 10. 는 Tomcat은 deployement 오류
- 11. 넷빈즈 7.1/Tomcat은 문제
- 12. Tomcat은 IP를 허용합니까?
- 13. Tomcat에서 TLS 핸드 셰이크 이벤트가 발생했습니다.
- 14. Tomcat은 세션 무결성을 어떻게 유지합니까?
- 15. Spring + Tomcat은 언제 강력하지 않습니까?
- 16. Tomcat은 내가 다음과 같은 시나리오있어
- 17. Tomcat은 webapps 디렉토리를 어떻게 찾습니까?
- 18. Tomcat은 어떻게 다른 커넥터를 식별합니까?
- 19. JBoss의 * -ds.xml과 동일한 Tomcat은 무엇입니까?
- 20. Tomcat은 항상 새로운 세션을 만듭니다.
- 21. C 오류 TLS 오류
- 22. as3crypto의 TLS 오류 코드
- 23. 브라우저의 TLS/SRP?
- 24. PKCS # 11 TLS 인증
- 25. nodejs tls 세션 ID
- 26. XMPP 프록시 TLS 암호화
- 27. 서블릿 및 TLS
- 28. 시냅스가있는 IMAP + TLS/SSL?
- 29. WCF TLS 암호화 제품군
- 30. AsyncSocket TLS HOWTO
Tomcat은 TLS를 전혀 지원하지 않습니다. Java (JSSE를 통해) 또는이를 지원하는 OpenSSL입니다. TLS 버전은 지원하는 버전에 따라 다릅니다. 귀하의 질문이 잘못되었습니다. – EJP