Pourquoi Java est SSLSocket envoyer une version 2 client bonjour?
La SSLSocket.getEnabledProtocols()
méthode renvoie les éléments suivants: [SSLv2Hello, SSLv3, TLSv1]
. Et en effet, quand je l'appelle connect()
et j'ai SSL débogage activé, je ne vois qu'une v2 client bonjour est utilisé:
main, WRITE: TLSv1 Handshake, length = 81
main, WRITE: SSLv2 client hello message, length = 110
Mais j'en ai trouvé deux (certes vieux) références que dire JSSE ne pas en charge SSL version 2:
De Fondamentaux de Réseau en Java:
'SSLv2Hello" est un pseudo-protocole qui permet de Java pour lancer la poignée de main avec un SSLv2 'bonjour le message". Ce n' pas cause de l'utilisation de la SSLv2 protocole, qui n'est pas pris en charge par Java à tous.
Et de la JSSE Guide de Référence:
La JSSE mise en œuvre dans le J2SDK 1.4 et, plus tard, met en œuvre le protocole SSL 3.0 et TLS 1.0. Il ne permet pas de mettre en œuvre le protocole SSL 2.0.
Maintenant, ma compréhension est que la version 2.0 client bonjour devraient être envoyés uniquement lorsque le client ne en charge SSL version 2.0. De RFC 2246:
TLS 1.0 clients qui prennent en charge SSL Version 2.0 serveurs doivent envoyer SSL
La Version 2.0 client de messages "hello" [SSL2] ... Avertissement: La possibilité d'envoyer la Version 2.0 client hello les messages seront supprimés progressivement avec hâte.
Alors pourquoi ne Java utiliser?
- Le SSLv2Hello est activée par défaut sur les JSSE de Sun/Oracle Java 6, mais pas de Java 7 ou une version ultérieure. Il rompt par exemple l'ouverture d'connectins avec www.howismyssl.com pour la version 6 de Java.
Vous devez vous connecter pour publier un commentaire.
Du soleil JSSE ne prend pas en charge SSLv2, mais il prend en charge la
SSlv2ClientHello
, à l'appui de certaines SSL serveurs qui en ont besoin. Vous pouvez le désactiver en le supprimant de protocoles activés.IBM JSSE prend en charge SSLv2 entièrement.
De la JSSE Guide de Référence:
J'imagine 'implémentations de serveur" doit lire "implémentations SSL" ci-dessus.
EDIT: merci pour la citation de mon livre!