Voglio sapere se Apache Tomcat supporta il protocollo TLS v1.2. Non ho trovato alcuna documentazione su questo! Grazie!Tomcat supporta TLS v1.2?
risposta
TLS versione 1.2 è supportato da Oracle JDK versione 7, nell'implementazione JSSE. Poiché Tomcat utilizza JSSE come libreria SSL sottostante, dovrebbe essere supportato dalla versione 1.7 di JDK in poi. Controlla anche le tue suite di crittografia SSL abilitate in Tomcat.
Se si utilizza Apache come proxy, consultare Apache e la documentazione OpenSSL sottostante.
Alcuni link:
http://docs.oracle.com/javase/7/docs/technotes/guides/security/enhancements-7.html (Java SE 7 Miglioramenti della protezione)
ero anche cercando di aggiornare sslProtocol a TLSv1.1 e come detto nel sotto collegamenti su Java6 e Java7
Java6 http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html Java7 http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html
Lo SSLContext supportato in java6 sono SSL, TLSv1 e in Java7 SSL, TLSv1, TLSv1.1 e TLSv1.2 sono supportati.
Quindi, per abilitare TLSv1.1 o TLSv1.2 in tomcat, è sufficiente aggiornare a Java7 e modificare sslProtocol in Connector in server.xml di tomcat.
Come menzionato da altri, Tomcat supporta TLSv1.2 tramite JSSE in JDK 7+.
Tomcat NON supporta TLSv1.1 o TLSv1.2 quando viene utilizzato con Tomcat Native (APR). Vedi https://issues.apache.org/bugzilla/show_bug.cgi?id=53952.
Aggiornamento: Sembra che TLSv1.2 saranno finalmente supportati in Tomcat 1.1.32 nativo e Tomcat 8.0.15/7.0.57.
Ho un caso d'uso simile, che consente a Tomcat 7 di utilizzare rigorosamente solo TLSv1.2, di non ricorrere ai precedenti protocolli SSL come TLSv1.1 o SSLv3. I seguenti passaggi risponderanno come abilitare Tomcat a supportare TLSv1.2.
sto usando: C: \ apache-tomcat-7.0.64-64bit e C: \ Java64 \ jdk1.8.0_60.
Seguendo questa istruzione: https://tomcat.apache.org/tomcat-7.0-doc/security-howto.html. Tomcat è relativamente semplice da configurare il supporto SSL.
Da molti riferimenti che ho provato molte combinazioni, finalmente ho trovato uno che far rispettare Tomcat 7 per accettare solo TLSv1.2. 2 posti necessari al tatto:
1) In C: \ apache-tomcat-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" />
dove
keystoreFile = locale di fiducia auto-firmato memorizzare
implementazioneorg.apache.coyote.http11.Http11Protocol = JSSE BIO.
Non utilizziamo org.apache.coyote.http11.Http11AprProtocol, perché è alimentato da openssl. Il sottostante openssl ricadrà per supportare precedenti protocolli SSL.
2) All'avvio di Tomcat, abilitare i seguenti parametri di ambiente.
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 restrizione è necessaria, altrimenti Tomcat (che è alimentato da Java8) ricadrà per supportare i protocolli SSL precedenti.
Messa in funzione Tomcat C: \ apache-tomcat-7.0.64-64bit \ bin \ startup.bat
Possiamo vedere JAVA_OPTS compare nel registro di avvio Tomcat.
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
Quindi, possiamo usare il comando openssl per verificare la nostra configurazione. Innanzitutto connetti localhost: 8443 con il protocollo TLSv1.1. Tomcat rifiuta di rispondere con il certificato del server.
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
Collegare localhost: 8443 con protocollo TLSv1.2, Tomcat risponde ServerHello con certificato:
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
Ciò dimostra che Tomcat ora rispondere rigorosamente unica richiesta TLSv1.2.
- 1. SSLContext.getInstance ("TLS") supporta anche TLS v1.1 e TLS v1.2?
- 2. Supporto TLS v1.2 su Webview Android
- 3. iOS supporta la compressione TLS?
- 4. HttpClient che supporta più protocolli TLS
- 5. È possibile abilitare TLS v1.2 in Ruby? Se é cosi, come?
- 6. Rileva browser Compatibilità TLS
- 7. Tomcat KeyStore ambiente PATH
- 8. Jenkins SMTP TLS
- 9. Canali Java.nio e TLS
- 10. SSL/TLS senza certificati
- 11. TLS/SRP nei browser?
- 12. Errore handshake TLS
- 13. RabbitMQ + TLS: ssl_upgrade_error
- 14. Java Mail su TLS
- 15. RestSharp & TLS 1.1
- 16. Problema in tomcat 7.0 per configurare tomcat per supportare ssl
- 17. Invio richiesta TLS 1.2 in Python 2.6
- 18. Tomcat - maxThreads vs maxConnections
- 19. Come trovare la versione SSL/TLS utilizzata in Java
- 20. Utilizzare DefaultNetworkCredential con la crittografia TLS?
- 21. JBoss supporta Websockets?
- 22. TLS con socket server php
- 23. Errore TLS Docker su Ubuntu
- 24. TLS Session Ripr. In php
- 25. IMAP + TLS/SSL con sinapsi?
- 26. Differenza tra DTLS e TLS
- 27. errore Docker TLS su Mac
- 28. Mailkit SMTP - StartTLS & TLS bandiere
- 29. Decrypt TLS dati traffico HTTPS
- 30. require ('https') vs require ('tls')
Tomcat non supporta affatto TLS. È Java (tramite JSSE) o OpenSSL che lo supporta. Quale versione di TLS supportano dipende dalla versione che sono. La tua domanda è mal formata. – EJP