Firma Electrónica sin Applets: AutoFirma Java Web Start
[email protected] [email protected] [email protected] Portada Universidad de Almería
Firma Electrónica sin Applets
Indice La firma con applets AutoFirma: Limitaciones Soluciones Integración
2
Firma Electrónica sin Applets
Un mundo sin applets El 1 de septiembre de 2015 Google eliminó el soporte de complementos NPAPI en Chrome. Firefox lo hará a finales de 2016. Oracle dejará de dar soporte a los applets Java.
3
Firma Electrónica sin Applets
Matriz de compatibilidad de Miniapplet 1.4 (*)
(*) Fuente: https://ws024.juntadeandalucia.es/ae/descargar/4795
4
Firma Electrónica sin Applets
Solución del MINHAP: AutoFirma Es una solución independiente del navegador para firma en entornos de escritorio. Se invoca mediante protocolo: afirma://sign?op=sign&id=9dyk67aKbWgVpom7sdHI &key=73065939&stservlet=http://admindes5.ual.es:8 082/pfirma/StorageService&format=CAdES&algorith m=SHA256withRSA&dat=IA==
5
Firma Electrónica sin Applets
Limitaciones de AutoFirma Requiere una instalación previa No soporta firma masiva
6
Firma Electrónica sin Applets
Propuesta: AutoFirma JWS ¿Cómo podemos llevarnos AutoFirma al Servidor? Encapsular AutoFirma en un Java Web Start (JWS).
7
Firma Electrónica sin Applets
¿Qué es un Java Web Start? Local
Servidor
Programa.jnlp
8
Firma Electrónica sin Applets
Ventajas JWS • No requiere de instalaciones previas. • Facilita la actualización de AutoFirma.
9
Firma Electrónica sin Applets
Transformar AutoFirma en un JWS Es necesario: • El JAR de AutoFirma • Un archivo JNLP
10
Firma Electrónica sin Applets
Paso de parámetros a AutoFirma • Parámetros • datos a firmar • operación a realizar
• Dentro del archivo JNLP -> JNLP dinámico
11
Firma Electrónica sin Applets
Generación dinámica de JNLP Servlet que recibe como parámetro la url de invocación a AutoFirma Descarga un archivo JNLP para continuar con el proceso de firma. http://servidor.ual.es/Autofirma/autofirma.jnlp?cadenafirma=afirma %3A%2F%2Fsign%3Fop%3Dsign%26id%3D9dyk67aKbWgVpom7 sdHI%26key%3D73065939%26stservlet%3Dhttp%3A%2F%2Fad mindes5.ual.es%3A8082%2Fpfirma%2FStorageService%26format %3DCAdES%26algorithm%3DSHA256withRSA%26dat%3DIA%3 D%3D%0A
12
Firma Electrónica sin Applets
Demo
13
Firma Electrónica sin Applets
Inconvenientes de AutoFirma JWS
Hasta la versión JRE 8u73 Se descarga un fichero por petición
El usuario tiene que abrir el fichero
14
Firma Electrónica sin Applets
¿Cómo evitar la descarga? Java Web Start por protocolo Local
Servidor
¡Ya no hay que descargar ficheros!
JRE 8.74 15
Firma Electrónica sin Applets
¿Cómo evitar la descarga? http://servidor.ual.es/Autofirma/autofirma.jnlp?cadenafirma=afirma%3 A%2F%2Fsign%3Fop%3Dsign%26id%3D9dyk67aKbWgVpom7sdHI %26key%3D73065939%26stservlet%3Dhttp%3A%2F%2Fadmindes5 .ual.es%3A8082%2Fpfirma%2FStorageService%26format%3DCAdE S%26algorithm%3DSHA256withRSA%26dat%3DIA%3D%3D%0A
jnlp://servidor.ual.es/Autofirma/autofirma.jnlp?cadenafirma=afirma%3 A%2F%2Fsign%3Fop%3Dsign%26id%3D9dyk67aKbWgVpom7sdHI %26key%3D73065939%26stservlet%3Dhttp%3A%2F%2Fadmindes5 .ual.es%3A8082%2Fpfirma%2FStorageService%26format%3DCAdE S%26algorithm%3DSHA256withRSA%26dat%3DIA%3D%3D%0A
16
Firma Electrónica sin Applets
AutoFirma JWS 1.4.1 (Servidores Intermedios)
JNLPServer
6. Almacenamiento de la firma
2. Descarga JNLP con parámetros
1. Invocación de JNLP:// con parámetros
3. Descarga / Actualización Autofirma
5. Firma
4. Lanzamiento Autofirma con parámetros
Auto StorageService / RetrieveService
17
Firma Electrónica sin Applets
AutoFirma JWS 1.4.2 (Sockets)
JNLPServer
6. Almacenamiento de la firma
2. Descarga JNLP con parámetros
1. Invocación de JNLP:// con parámetros
3. Descarga / Actualización Autofirma
4. Lanzamiento Autofirma con parámetros
Comunicación Directa
18
5. Firma
Auto
Firma Electrónica sin Applets
¿Cómo hacer que funcionen los sockets? No se ha lanzado el Configurador de AutoFirma
Solución: AutoFirma JWS
Configurador
19
Firma Electrónica sin Applets
Integración
Cliente de Firma OS MiniApplet.js
Applet
20
Firma móvil
AutoFirma
Firma Electrónica sin Applets
Integración Mismo documento Cliente de Integración del de MinHAP
OS
MiniApplet.js
Applet
Firma móvil
21
Firma JNLPServer
AutoFirma Pre instalado
Fichero JNLP
JNLP://
Firma Electrónica sin Applets
Limitaciones de Autofirma Requiere una instalación previa No soporta firma masiva
22
Firma Electrónica sin Applets
Firma en bloque / Multifirma • No permite más de una firma por petición. • El usuario tiene que seleccionar el certificado tantas veces como firmas se quieran hacer.
23
Firma Electrónica sin Applets
Modificación firma masiva • Modificación del método sign • Entrada: “array” de peticiones de firma • Salida: “array” de firmas.
El objetivo es que los datos a firmar sean del tipo: OPERACION1;DATO1:OPERACION2;DATO2:…:OPERACIONn;DATOn
24
Firma Electrónica sin Applets
Cambios Código
Nuevas Funcionalidades
Miniapplet.js
• Fichero JNLP • Protocolo JNLP
AutoFirma
• Configurador • Firma masiva
https://github.com/sticual
https://github.com/ctt-gob-es/
25
Firma Electrónica sin Applets
Matriz de compatibilidad de AutoFirma Linux Ubuntu Mac OS v10.11 v15.10 -
Windows 7
Windows 10
IExplorer v11
SI
SI
Firefox v41.0.2
SI
SI
SI
Si
Chrome v48
SI
SI
SI
Si
MS Edge v20
-
SI
-
-
Safari v9
-
-
-
Si
Es la misma de Autofirma 26
Firma Electrónica sin Applets
Matriz de compatibilidad de AutoFirma JWS Windows 7 IExplorer v11
Firefox v41.0.2 Chrome v48 MS Edge v20 Safari v9
Servidor Intermedio Servidor Intermedio Servidor Intermedio
Windows 10 Sockets
Linux Ubuntu Mac OS v10.11 v15.10 -
-
Sockets
Servidor Intermedio Servidor Intermedio
Servidor Intermedio Servidor Intermedio
-
Sockets
-
-
Servidor Intermedio
Sockets
-
Servidor Intermedio
Sockets
Es la misma de Autofirma 27
Firma Electrónica sin Applets
Demo
28
Firma Electrónica sin Applets
Integraciones actuales
Integración con aplicaciones propias PortaFirmas U-Move Oficina Virtual
29
Firma Electrónica sin Applets
Puesta en producción
Finales de abril: Piloto Problemas en Windows 7, Mac y Linux. • Se opta por la opción de Servidores Intermedios.
20 de mayo: En producción. Problemas con Servidores Intermedios: • En ciertas combinaciones de certificados y documentos el resultado de firma se truncaba.
Mac: Problemas para abrir el fichero .jnlp • Se crea un programa para asociar el protocolo jnlp con la máquina virtual Java.
30
Firma Electrónica sin Applets
Incidencias registradas
31
Firma Electrónica sin Applets
32
Firma Electrónica sin Applets
Caso de éxito ;-)
33
Firma Electrónica sin Applets
Contraportada
[email protected] [email protected] [email protected] 34
Firma Electrónica sin Applets