A la hora de acceder al servicio de notificaciones oficiales de la administración pública española me he encontrado un problema con el uso de applet java con funciones criptográficas.

Mi configuración de partida consistía en

  • java-1.6.0-openjdk-1.6.0.0-65.1.11.1.fc16.i686.rpm
  • icedtea-web-1.1.4-4.fc16.i686.rpm

siendo icedtea-web el plugin java para navegadores (vía NPAPI) oficial de openjdk. No soy un gran usuario de applet vía web pero hasta ahora no recuerdo haber tenido ningún problema. Supongo que en este caso la clave está en los servicios criptográficos X.509.

Tras varias investigaciones esta es la configuración que me ha funcionado

  • Oracle JDK (en sabor RPM)
  • Scientific Linux java-1.6.0-sun-compat
  • he mantenido java-1.6.0-openjdk como alternativa java principal, lo cual es independiente del funcionamiento del plugin del original Oracle
  • adición de certificados X.509 a la infraestructura java de usuario (los applet no saben manejarlos desde el almacén del navegador) con ControlPanel:
    • [Seguridad]->[Certificados]->[CA de firmante]->[Importar]-> fichero FNMTClase2CA.crt
    • [Seguridad]->[Certificados]->[Autenticación de cliente]->[Importar] -> fichero con su certificado FNMT.
  • prueba de compatibilidad: enlace desde la especificación de requisitos de acceso.

Al acceder al certificado digital java pedirá la contraseña de protección que es exactamente la misma que tenía en el fichero importado.

Tras verificar el funcionamiento correcto he podido acceder a las notificaciones que tenía pendientes en notificaciones.060.es.

Ni con la configuración java afinada Chrome pasa la prueba (google-chrome-stable-17.0.963.56-121963).

Los usuarios de applet con funciones criptográficas que no usen servicios basados en certificados de la FNMT pueden encontrar útil la configuración general.

Lecciones aprendidas

  • El plugin de java ahora se llama libnpjp2.so, aunque siguen distribuyendo libjavaplugin_oji.so por motivos que desconozco. Me ha hecho perder una preciosa y enorme cantidad de tiempo con pruebas frustrantes.
  • Para los usuarios Fedora (y entiendo que CentOS, RHEL, etc) parece que tenemos la mejor manera de integrar el JDK oficial de Oracle a través del paquete java-1.6.0-sun-compat de Scientific Linux. Antes usaba la adaptación de JPackage java-1.6.0-sun pero creo que ya es innecesaria aparte de desactualizada.