Mis compañeros de trabajo y yo estamos teniendo un problema al utilizar Firefox 3.0.6 para acceder a una aplicación web Java 1.6.0___11 que estamos desarrollando. Todo funciona bien en cualquier lugar de 1-30 minutos en la sesión ... pero, finalmente, la conexión falla y aparece el siguiente error:
Secure Connection Failed
(Conexión segura fallida)
Se ha producido un error durante la conexión a 10.x.x.x.
No se puede comunicar de forma segura con el par: no hay algoritmos de cifrado comunes.
(Código de error: ssl_error_no_cypher_overlap)
IE funciona correctamente. Firefox arroja el error tanto en Windows como en Fedora, por lo que el problema no parece estar vinculado a un sistema operativo. La aplicación Java EE se ejecuta en un servidor Tomcat 6.0.16. Todas las páginas están encriptadas usando TLS 1.0 a través de un servidor HTTP Apache 2.2.8 con mod_nss.
Nuestro servidor Apache está configurado para rechazar conexiones SSL 3.0. Una hipótesis que tenemos es que Firefox podría estar intentando establecer una conexión SSL 3.0... pero ¿por qué?
Buscando en Google, hemos probado lo siguiente, pero sin éxito:
usando Firefox 2.x (algunas personas informaron de casos en los que 2.x funcionaba pero 3.x no):
activando SSL2
desactivar SSL3
desactivar OCSP (Tool > Options > Advanced > Encryption > Validation)
asegurarse de que el antivirus/firewall del ordenador cliente no bloquea o escanea el puerto 443 (puerto https)
¿Alguna idea?
Teniendo en cuenta lo que has probado y los mensajes de error, yo diría que tiene más que ver con el algoritmo de cifrado exacto utilizado que con la versión de TLS/SSL. ¿Por casualidad estás usando un JRE que no sea de Sun, o una implementación de seguridad de otro fabricante? Pruebe con otro JRE/OS para probar su servidor si puede. En su defecto, puede ser capaz de ver lo que está pasando con Wireshark (con un filtro de 'tcp.port == 443').
En la configuración avanzada de Firefox debería poder configurar el cifrado. Por defecto SSL3.0 y TLS1.0 deberían estar marcados, así que si firefox está intentando crear conexiones ssl 3.0 intenta desmarcar la opción ssl 3.0s.
si eso no funciona, intente buscar en la página about:config "ssl2" Mi Firefox tiene la configuración con ssl2 en false por defecto...
Lo primero que comprobaría es la configuración de mod_nss. Es lo raro, porque es la tuya y no hay ninguna en el mundo como ella :-) Mientras que si hubiera algún fallo enorme en Firefox o en el propio mod_nss, supongo que ya te habrías enterado en tu búsqueda en google. El hecho de que hayas jugueteado con la configuración (por ejemplo, desactivando SSL3, y varios otros ajustes aleatorios), también es sospechoso.
I'd pista de nuevo a una muy vainilla mod\nss configurar y ver si eso funciona. A continuación, cambiar las cosas sistemáticamente hacia su configuración actual hasta que pueda reproducir el problema. Por lo que parece, la fuente del error está en algún lugar de la configuración de las especificaciones de cifrado de mod\nss y las cosas relacionadas con la negociación del protocolo. Así que tal vez usted inadvertidamente cambió algo allí al tratar de desactivar SSLv3 (por cierto, ¿por qué desactivar SSL3? Normalmente la gente desactiva V2?).
Otra cosa que hay que comprobar es que está usando la última versión de mod_nss y que no se trata de un error conocido. El hecho de que se las arregle para iniciar la sesión y falle más tarde es interesante - sugiere que quizás está intentando renegociar la sesión y fallando al negociar los cifrados en ese punto. Así que podrían ser los cifrados simétricos. O podría ser simplemente un error de implementación en su versión de mod_nss que de alguna manera confunde el protocolo.
Otra idea, y esto es una conjetura, es que el navegador está tratando de reanudar una sesión que se negoció con SSLv3 antes de desactivarlo, y algo se rompe cuando se trata de reanudar la sesión cuando V3 está desactivado, o tal vez mod__nss simplemente no implementarlo correctamente.
Lo de java/tomcat parece una pista falsa ya que, a menos que haya entendido mal tu descripción, nada de eso está involucrado en el protocolo SSL.