Erreur de clé publique Diffie-Hellman avec Tomcat 7
J'ai réussi à mettre en place deux machines Ubuntu avec Tomcat et des certificats SSL.
J'ai suivi exactement la même procédure avec Centos 6, mais je suis quand je suis en train d'essayer de se connecter au Serveur (à l'aide de l'Opéra):
Serveur a un faible, Diffie-Hellman clé publique
Le connecteur est la suivante, et il n'y a pas d'erreurs dans catalina.journal:
<Connector port="some port number"
protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="path to jks"
keystoreType="JKS"
keystorePass="mypass1"
keyPass="mypass2" />
Avec Firefox, j'obtiens le non fiables erreur de communication.
source d'informationauteur Bob
Vous devez vous connecter pour publier un commentaire.
Pour moi, il a travaillé après l'ajout d'une liste de chiffrements autorisés à la configuration de Tomcat dans conf/server.xml pour désactiver la faiblesse de l'échange de clés Diffie-Hellman algorithmes:
Cela est dû au fait que les nouvelles versions de navigateurs ont commencé à émettre des avertissements/erreurs lors de l'accès à des sites web qui sont configurés avec la faiblesse de la DH algorithmes de chiffrement par SSL. Pour plus d'informations sur le problème, suivez les liens ci-dessous
https://weakdh.org
impasse problème
Pour corriger ce soit, vous pouvez trouver un moyen de contourner cela, au navigateur de côté ou côté serveur. Serveurs de côté est la meilleure car elle permettra de corriger le problème pour tous les utilisateurs , s'ils sont d'accès au serveur à partir de différents navigateurs et des lieux.
Résoudre le problème, nous devons veiller à notre serveur (dans ce cas, tomcat) utiliser des algorithmes de chiffrement par SSL.
Dans tomcat, il y a deux différentes implémentations de SSL. Defautl est JSSE de mise en œuvre fournis dans le cadre de l'exécution de Java. Les autres étant APR la mise en œuvre, qui utilise OpenSSL moteur par défaut.
JSSE, car il dépend de l'exécution de Java, nous devons d'abord savoir qui de la version de Java que nous utilisons avec tomcat. Tomcat 7 prend en charge la version 1.6 de java vers le haut. Ensuite, nous devons trouver la suites de chiffrement pris en charge par la version java de JSSE. Faibles sont qui qui a " DHE', afin de choisir ceux qui ne contient pas " DHE'. Quelques-uns des plus forts suites pour la version 1.6 de java JSSE est énumérée ci-dessous.
Compiler une liste de cryptage fort costumes et ajoutez-le au connecteur d'algorithmes dans conf/server.xml dans votre tomcat
Redémarrer le serveur et d'erreur/d'avertissement devraient disparaître. Rappelez-vous si la version de Java est différent de copier/coller ci-dessus peuvent ne pas fonctionner. Reportez-vous à la version correcte et pris en charge les suites de chiffrement.
Remarque: Pour pouvoir utiliser les Algorithmes de chiffrement AES 256 bits, il est nécessaire d'installer JCE Force Illimitée de la Compétence de la Politique de Fichiers
Si Tomcat est configuré pour utiliser l'APR au lieu de JSSE, la configuration ci-dessus ne fonctionnera pas. Vous pouvez activer forte suites de chiffrement par tomcat suivants ssl guide de configuration de l'APR et impasse guide de l'administrateur .
Il fonctionne avec Google Chrome ver.44 et Merci à Jason Scroggins pour suggérer:
about:config
dans la barre d'adresse et appuyez sur Entrée. Cliquez sur le bouton promettant d'être prudent.security.ssl3.dhe_rsa_aes_128_sha
préférence pour passer de true à false (désactivé Firefox à partir de l'utilisation de ce cipher).security.ssl3.dhe_rsa_aes_256_sha
préférence pour passer de true à false (désactivé Firefox à partir de l'utilisation de ce cipher).Ajouter ceci dans le server.xml fichier et redémarrez le serveur
Essayez de parcourir avec https://localhost:8443
Pour moi,C'était la question de la version de java utilisée par tomcat.
J'ai changé la version de JDK 6-JDK 1.7_080 et l'erreur a disparu.
Quand j'ai dit que j'ai changé la version de JAVA,je voulais dire que je l'ai modifié la variable d'environnement "JAVA_HOME".