Java 7 support de l'AES-GCM dans SSL/TLS?
En fonction de Java 7 de la documentation ainsi que les fournisseurs tiers, il semble Java 7 support AES-GCM suites:
J'ai été frappé en quelques erreurs en cours de négociation entre le client et le serveur peuvent pas négocier un chiffre en raison de la restreindre à seulement AES-GCM algorithmes. Après enquête, j'ai trouvé qu'il semble que les suites de chiffrement ne sont pas pris en charge sur le client et le serveur (tomcat par exemple). Couru quelques exemples de code sur le client pour obtenir la sortie:
//Create an SSLContext that uses our TrustManager
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, trustAllCerts, new SecureRandom());
SSLParameters params = context.getSupportedSSLParameters();
String[] suites = params.getCipherSuites();
System.out.println("Java version : " + System.getProperty("java.runtime.version"));
System.out.println("Connecting with " + suites.length + " cipher suites supported:");
for (int i = 0; i < suites.length; i++) {
System.out.println();
System.out.print(" ********* ");
System.out.print(suites[i]);
System.out.print(" ********* ");
}
Java version: 1.7.0_51-b13
Connecting with 63 cipher suites supported:
********* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_RSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA *********
********* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA *********
********* TLS_RSA_WITH_AES_128_CBC_SHA *********
********* TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA *********
********* TLS_ECDH_RSA_WITH_AES_128_CBC_SHA *********
********* TLS_DHE_RSA_WITH_AES_128_CBC_SHA *********
********* TLS_DHE_DSS_WITH_AES_128_CBC_SHA *********
********* TLS_ECDHE_ECDSA_WITH_RC4_128_SHA *********
********* TLS_ECDHE_RSA_WITH_RC4_128_SHA *********
********* SSL_RSA_WITH_RC4_128_SHA *********
********* TLS_ECDH_ECDSA_WITH_RC4_128_SHA *********
********* TLS_ECDH_RSA_WITH_RC4_128_SHA *********
********* TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA *********
********* TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA *********
********* SSL_RSA_WITH_3DES_EDE_CBC_SHA *********
********* TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA *********
********* TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA *********
********* SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA *********
********* SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA *********
********* SSL_RSA_WITH_RC4_128_MD5 *********
********* TLS_EMPTY_RENEGOTIATION_INFO_SCSV *********
********* TLS_DH_anon_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDH_anon_WITH_AES_128_CBC_SHA *********
********* TLS_DH_anon_WITH_AES_128_CBC_SHA *********
********* TLS_ECDH_anon_WITH_RC4_128_SHA *********
********* SSL_DH_anon_WITH_RC4_128_MD5 *********
********* TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA *********
********* SSL_DH_anon_WITH_3DES_EDE_CBC_SHA *********
********* TLS_RSA_WITH_NULL_SHA256 *********
********* TLS_ECDHE_ECDSA_WITH_NULL_SHA *********
********* TLS_ECDHE_RSA_WITH_NULL_SHA *********
********* SSL_RSA_WITH_NULL_SHA *********
********* TLS_ECDH_ECDSA_WITH_NULL_SHA *********
********* TLS_ECDH_RSA_WITH_NULL_SHA *********
********* TLS_ECDH_anon_WITH_NULL_SHA *********
********* SSL_RSA_WITH_NULL_MD5 *********
********* SSL_RSA_WITH_DES_CBC_SHA *********
********* SSL_DHE_RSA_WITH_DES_CBC_SHA *********
********* SSL_DHE_DSS_WITH_DES_CBC_SHA *********
********* SSL_DH_anon_WITH_DES_CBC_SHA *********
********* SSL_RSA_EXPORT_WITH_RC4_40_MD5 *********
********* SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 *********
********* SSL_RSA_EXPORT_WITH_DES40_CBC_SHA *********
********* SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA *********
********* SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA *********
********* SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA *********
********* TLS_KRB5_WITH_RC4_128_SHA *********
********* TLS_KRB5_WITH_RC4_128_MD5 *********
********* TLS_KRB5_WITH_3DES_EDE_CBC_SHA *********
********* TLS_KRB5_WITH_3DES_EDE_CBC_MD5 *********
********* TLS_KRB5_WITH_DES_CBC_SHA *********
********* TLS_KRB5_WITH_DES_CBC_MD5 *********
********* TLS_KRB5_EXPORT_WITH_RC4_40_SHA *********
********* TLS_KRB5_EXPORT_WITH_RC4_40_MD5 *********
********* TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA *********
********* TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 ********* INFO - Received response from post device of :
Ne sais pas si quelqu'un d'autre a rencontré ce problème.
Java 7 prennent en charge l'utilisation de l'AES-GCM dans SSL/TLS?
OriginalL'auteur user2403018 | 2014-01-22
Vous devez vous connecter pour publier un commentaire.
AES-GCM est disponible dans TLS v1.2. Voir [Le TLS (Transport Layer Security) est un Protocole de la Version 1.2][1], section 6.2.3.3. TLSv1.1 ne pas ajouter de suites de chiffrement, et TLSv1.0 jamais eu de AES-GCM ou la courbe elliptique gear. (La courbe elliptique trucs a montré dans TLSv1.2 également).
La dernière génération publique 80 de Java 7
SSLContext.getInstance("TLSv1.2")
en cas de prise de programmation ou tout simplement de déclarer la-Dhttps.protocols=TLSv1.2
dans le cas de HTTP programmation.ne prend pas en charge l'AES-GCM de la suite de chiffrement, même sous TLSv1.2, selon une demande de mise en œuvre que dans un commercial construire 191 de Java 7,
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8180834
Son intéressant de noter que les
TLS_ECDHE_ECDSA_*
suites de chiffrement sont en train d'apparaître dans votre dump, car ils sont TLSv1.2 algorithmes.Merci Bruno. Je ne peux aller sur ce que le vendeur unis.
Je suppose qu'ils n'ont pas touché à l'introduction d'un tout. Si vous la recherche pour "1.2" dans tout le document, il est mentionné à quelques reprises. Bien sûr, ce qui compte vraiment est également le lien vers le "Fournisseur Oracle de la Documentation" de l'Annexe A à la fin du guide (il n'a pas nécessairement de se démarquer...)
-1 je pense que Bruno mentionnés doivent être inclus dans cette réponse, sinon c'est trompeuse. Il est particulièrement mal vu c'est la réponse.
OriginalL'auteur jww
Il n'y a pas GCM suites de chiffrement dans le SunJSSE Fournisseur de Java 7 (en supposant un Oracle JRE), bien qu'il prend en charge TLS 1.2.
Ceux-ci ont été introduit dans Java 8 (voir la suite de chiffrement table dans la "La SunJSSE Fournisseur de").
l'AES-GCM algorithmes apparaissent uniquement dans un rémunérée 191 de Java 7, bugs.java.com/bugdatabase/view_bug.do?bug_id=8180834
OriginalL'auteur Bruno
Oracle JDK et OpenJDK commencer à l'appui de la GCM, les algorithmes en java 8.
OriginalL'auteur William Bao
J'ai récemment été déconner avec Java et cette suite de chiffrement non-sens tout à fait un peu récemment.
De mon expérience, vous avez besoin de l'illimité de la politique de fichiers pour obtenir une partie supplémentaire des suites. Je ne me souviens pas du haut de ma tête si l'utilisation de ces vous obtenir le GCM algorithmes, mais de mon souvenir avec IBM java au moins m'a l'AES256 peu algorithmes.
Ce lien montre que vous pouvez au moins l'initialisation d'un SSLContext avec TLSv1.2 (donc vous devriez être en mesure atleast prendre en charge toutes les TLSv1.2 suites de chiffrement qui ne nécessitent pas l'illimité jurisditcion politique de fichiers)
Avoir un coup d'oeil à certains des liens que j'ai regardé avant que je ne peux pas voir tout GCM algorithmes sur oracle de la suite de chiffrement liste! orace-enabled/prise en charge-cipher suites.
J'espère que certains de ces liens vous aider!
(Je suis en train de taper ceci lors de l'exécution d'un travail, donc pardonnez-moi si j'ai raté quelque gcm algorithmes 🙂 )
OriginalL'auteur andrewktmeikle
Que d'autres ont dit, Java 1.7 ne prend pas en charge que de chiffrement, mais, si vous avez la possibilité de modifier votre installation de java, vous pouvez ajouter les prestataires de services de sécurité.
Voici les étapes:
-sécurité.fournisseur de.2=org.bouncycastle.jsse.fournisseur de.BouncyCastleJsseProvider
C'est tout, il devrait maintenant fonctionner
OriginalL'auteur dandfra