web-dev-qa-db-fra.com

Java suites de chiffrement

J'essaie de déterminer l'ordre de retour des suites de chiffrement à l'aide de SSLSocketFactory.getSupportedCipherSuites () - il semble différer entre Java 1.6 et Java 1.7.

Je pensais que ce serait facile à déterminer, mais j'ai rencontré quelques problèmes. Mais d'abord, voici le code que j'utilise:

SSLContext context = SSLContext.getDefault();
SSLSocketFactory sf = context.getSocketFactory();
String[] cipherSuites = sf.getSupportedCipherSuites();

Assez simple (corrigez-moi si j'ai fait quelque chose de stupide). Donc, j'ai pensé (en utilisant Eclipse) que je serais en mesure d'entrer dans la méthode getSupportedCipherSuites (), mais il semble que le code source ne soit pas là pour le faire (y a-t-il une raison à cela?). J'ai trouvé la classe dans jsse.jar et l'ai décompilée en utilisant JD-Eclipse . Cela me donne cependant une classe abstraite et je n'ai pas pu voir l'implémentation concrète de la classe abstraite (j'ai découvert que la classe peut être définie en utilisant une propriété "ssl.SocketFactory.provider" mais cela n'a pas été spécifié dans Java.security). Je n'ai pas non plus été en mesure de déterminer comment activer la connexion à l'aide de la propriété "javax.net.debug" (cela disparaît dans une méthode native).

Quelqu'un pourrait-il indiquer où je me trompe?

14
Amadeus1756

La liste des suites de chiffrement prises en charge (et activées) est disponible dans la documentation du fournisseur SunJSSE: pour Java 6 et pour Java 7 . L'ordre des listes diffère en effet.

Je dois admettre que je n'ai jamais vraiment prêté attention à l'ordre dans la liste des suites de chiffrement prises en charge . Celui qui compte est la liste des suites de chiffrement * activées.

Si vous êtes intéressé par le code lui-même, vous devriez le trouver dans Sun.security.ssl.SSLContextImpl et Sun.security.ssl.CipherSuite . Notez que ces classes font partie de l'implémentation Sun JSSE et ne font pas partie de l'API publique Java.

Concernant le débogage, vous trouverez les paramètres requis dans la section Débogage du Guide de référence JSSE .

16
Bruno