34
Firma Electrónica sin Applets Portada [email protected] [email protected] [email protected] Firma Electrónica sin Applets: AutoFirma Java Web Start Universidad de Almería

Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Portada

[email protected]

[email protected]

[email protected]

Firma Electrónica sin Applets:

AutoFirma Java Web Start

Universidad de Almería

Page 2: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Indice

La firma con applets

AutoFirma: Limitaciones

Soluciones

Integración

2

Page 3: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets3

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.

Page 4: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Matriz de compatibilidad de Miniapplet 1.4 (*)

4

(*) Fuente: https://ws024.juntadeandalucia.es/ae/descargar/4795

Page 5: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

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

Page 6: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Limitaciones de AutoFirma

Requiere una instalación previa

No soporta firma masiva

6

Page 7: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Propuesta: AutoFirma JWS

¿Cómo podemos llevarnos AutoFirma al Servidor?

Encapsular AutoFirma en un Java Web Start (JWS).

7

Page 8: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

¿Qué es un Java Web Start?

8

Programa.jnlp

Local Servidor

Page 9: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Ventajas JWS

• No requiere de instalaciones previas.

• Facilita la actualización de AutoFirma.

9

Page 10: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Transformar AutoFirma en un JWS

Es necesario:

• El JAR de AutoFirma

• Un archivo JNLP

10

Page 11: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

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

Page 12: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

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

Page 13: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Demo

13

Page 14: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

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

Page 15: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

¿Cómo evitar la descarga?

Java Web Start por protocolo

15

JRE 8.74

Local Servidor

¡Ya no hay que

descargar

ficheros!

Page 16: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

¿Cómo evitar la descarga?

16

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

Page 17: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

AutoFirma JWS 1.4.1 (Servidores Intermedios)

17

JNLPServer

Auto

1. Invocación de JNLP:// con parámetros

4. Lanzamiento Autofirmacon parámetros

3. Descarga / Actualización Autofirma 5. Firma6. Almacenamiento de la firma 2. Descarga JNLP con parámetros

StorageService / RetrieveService

Page 18: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

AutoFirma JWS 1.4.2 (Sockets)

18

JNLPServer

Auto

1. Invocación de JNLP:// con parámetros

4. Lanzamiento Autofirmacon parámetros

3. Descarga / Actualización Autofirma 5. Firma6. Almacenamiento de la firma 2. Descarga JNLP con parámetros

Comunicación Directa

Page 19: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

AutoFirma JWS

¿Cómo hacer que funcionen los sockets?

No se ha lanzado el

Configurador de

AutoFirma

Solución:

19

AutoFirma JWS

Configurador

Page 20: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Integración

20

Cliente de Firma

MiniApplet.js

OS

Applet Firma móvil AutoFirma

Page 21: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Integración

21

Cliente de Firma

MiniApplet.js

OS

Applet

Firma móvil

AutoFirma

Pre instalado

Fichero JNLP

JNLP://

Mismo documento

de Integración del

MinHAPJNLPServer

Page 22: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Limitaciones de Autofirma

Requiere una instalación previa

No soporta firma masiva

22

Page 23: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

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

Page 24: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

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

Page 25: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Cambios

Código Nuevas Funcionalidades

Miniapplet.js • Fichero JNLP

• Protocolo JNLP

AutoFirma • Configurador

• Firma masiva

25

https://github.com/sticual

https://github.com/ctt-gob-es/

Page 26: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Matriz de compatibilidad de AutoFirma

Windows 7 Windows 10 Linux Ubuntu v15.10

Mac OS v10.11

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

26

Es la misma de Autofirma

Page 27: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Matriz de compatibilidad de AutoFirma JWS

Windows 7 Windows 10 Linux Ubuntu v15.10

Mac OS v10.11

IExplorer v11 Servidor

IntermedioSockets - -

Firefox v41.0.2 Servidor

IntermedioSockets

Servidor

Intermedio

Servidor

Intermedio

Chrome v48 Servidor

IntermedioSockets

Servidor

Intermedio

Servidor

Intermedio

MS Edge v20 - Sockets - -

Safari v9 Servidor

IntermedioSockets -

Servidor

Intermedio

27

Es la misma de Autofirma

Page 28: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Demo

28

Page 29: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Integraciones actuales

Integración con aplicaciones propias

PortaFirmas

U-Move

Oficina Virtual

29

Page 30: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

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

Page 31: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Incidencias registradas

31

Page 32: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets32

Page 33: Firma Electrónica sin Applets: AutoFirma Java Web …tic.crue.org/wp-content/uploads/2016/07/Manuel-Berenguel.pdfProblemas con Servidores Intermedios: • En ciertas combinaciones

Firma Electrónica sin Applets

Caso de éxito ;-)

33