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 Autoridades de Certificación 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»:
Cuando añado la excepción, si analizamos la cadena de confianza del certificado se ve que Firefox no está detectando las mismas:
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:
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 Autoridades de Certificación de la FNMT:
- fnmt-ca-ssl-certs
Lo descomprimimos, y luego abriremos el Panel de Control de 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:
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í:
Y el applet ya cargará correctamente.