Questo è un rather detailed answer che ho scritto un po 'indietro descrivendo la differenza tra SSL e TLS. In breve, TLS è il successore di SSL e TLS 1.0 può essere considerato come "SSL 3.1".
Se si guarda al JSSE Reference Guide, in the SSLContext section, si dice:
Questi metodi statici ogni ritorno un'istanza che implementa almeno la richiesta protocollo Secure Socket. L'istanza restituita può implementare anche altri protocolli. Ad esempio, getInstance ("TLSv1") può restituire un'istanza che implementa "TLSv1", "TLSv1.1" e "TLSv1.2".
Questo è anche menzionato nel documento Standard Names.
In particolare, se si controlla il codice sorgente Oracle/OpenJDK 7 per SSLContextImpl, si scoprirà che tutti i suoi SSLContext
supportano tutti i protocolli (da SSLv3 utilizzando un client SSLv2 Hello a TLS 1.2). Ciò che differisce è che i protocolli sono abilitati di default. Inoltre, non si dovrebbe fare affidamento su questo in generale, poiché altre implementazioni Java (ad esempio IBM JRE) potrebbero comportarsi diversamente.
Se si desidera utilizzare un determinato set di protocolli per una connessione, è necessario utilizzare il metodo SSLSocket
o SSLEngine
setEnabledProtocols
. In caso contrario, utilizzerà i valori predefiniti, come descritto nello Providers documentation.
vedere http://en.wikipedia.org/wiki/Transport_Layer_Security –
Hai provato a leggere la [documentazione] (http://docs.oracle.com/javase/6/docs/api/javax/net/ ssl/SSLContext.html # getInstance% 28java.lang.String% 29)? – Kai
Li cerco e conosco la differenza tra ssl, sslv3, tls, semplicemente non conosco la comunicazione tra server e client con un tipo di protocollo diverso. Grazie – user1781746