2015-04-24 18 views
8

Nel mio codice Java che sto creando un'istanza del contesto SSL tramite il comandoSSLContext.getInstance ("TLS") supporta anche TLS v1.1 e TLS v1.2?

SSLContext ctx = SSLContext.getInstance("TLS"); 

Ma nel mio server Tomcat io pongo TLSv1.2 e sto ottenendo errore di stretta di mano.

Come possiamo supportare tutti i protocolli TLS utilizzando questo metodo come in cpp abbiamo il metodo client SSLV23 che supporterà tutti i protocolli.

+1

Quale versione di Java si usa? –

+4

SSLContext ctx = SSLContext.getInstance ("TLSv1.2"); supporta tutti i protocolli :) – mahan07

+2

* 'SSLContext ctx = SSLContext.getInstance (" TLS ");' * - peggiora. Su Java 8 e versioni successive, ottieni anche SSLv3. Un bug report è stato archiviato con Oracle, ma è stato chiuso come "non risolverà" perché è designato. Vedi anche [Quali suite di crittografia abilitare per SSL Socket?] (Http://stackoverflow.com/a/23365536/608639) – jww

risposta

6

Per utilizzare TLSv1.2 cercare di utilizzare il codice qui sotto:

SSLContext sslContext = SSLContext.getInstance("TLSv1.2"); 
sslContext.init(null, null, null);