Solución al problema de carga de applet con última versión de Java

Con la actualización de la última versión de JRE (Java en cliente), JRE 8u31 (o en mi caso 1.7.0_75 en Mac), hemos comprobado que varios usuarios tienen problemas para cargar el applet Java de Viafirma (en general les pasará con cualquier applet Java) en varios navegadores, cuando el sitio web está publicado sobre https con un certificado SSL emitido por alguna Autoridad de Certificación no reconocida por defecto por Java (muchos de los portales de Administración Electrónica de España). Por no entrar mucho en detalles, ya que esto es un post para ayudar a los usuarios de este tipo de portales (y en nuestro caso, sobre todo para los usuarios de la Fundación Tripartita), este problema es debido a que, por las razones que sean. los navegadores no están detectando la ruta de certificación completa (los certificados de las diferentes CAs intermedias y raíz).

Por ejemplo, cuando intentamos cargar la ruta https://viafirma.fundaciontripartita.org/viafirma el navegador (en mi caso Firefox sobre Mac) precisamente nos obliga a aceptar el riesgo porque no se ha podido validar la conexión. En la pantalla deja claro que “no se ha proporcionado la cadena del emisor”:

error_firefox

Cuando añado la excepción, si analizamos la cadena de confianza del certificado se ve que Firefox no está detectando las misma:

Captura de pantalla 2015-01-23 a las 8.35.06

 

fnmt_ssl_path

Algo que sí ocurre, por ejemplo, con https://www.eacat.cat/viafirma, donde el navegador sí detecta la ruta de certificación completa y no da problema alguno para cargar el certificado:

gencat_ssl_path

Una solución incómoda pero efectiva es incorporar manualmente en nuestra configuración local de Java la confianza en las diversas autoridades de certificación raíz e intermedias de la Autoridad de Certificación emisora del SSL; en el caso de la Fundación Tripartita, FNMT. Para ello, primero nos bajaremos este ZIP que contiene estas dos claves públicas de las CAs de la FNMT:

Lo descomprimimos, y luego abriremos el Panel de Control de Java:

panel_control_java

Pulsamos en Seguridad y ahí Gestionar certificados; seleccionamos en Tipo de Certificado “CA de Sitio Seguro”, para poder añadir la confianza a los certificados SSL de la FNMT:

panel_control_java_seguridad_cert

Ahora pulsamos en importar y seleccionamos nuestros dos certificados de confianza del sitio donde lo hayamos descomprimido; si no los podemos seleccionar, tendremos que cambiar la combo que filtra el tipo de certificado para que coja cualquier tipo, y seleccionaremos los dos .cer. Al final tendremos algo así:

panel_control_java_seguridad_cert_import

Y el applet ya cargará correctamente.

 

Comentarios

  1. Es normal que no os funcione en plataformas unix/linux, la plataforma busca java 6 sin contar con que existe java 6 o > y no comprueba la arquitectura ARCH 32 o 64 instalando siempre las libs de 32 no estaticas.. un gran trabajo (18.000€ adjudicados)

Deja un comentario