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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada [email protected] [email protected] [email protected]

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Firma Electrónica sin Applets: AutoFirma Java Web …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

Firma Electrónica sin Applets

Demo

13

Page 14: Firma Electrónica sin Applets: AutoFirma Java Web …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

Firma Electrónica sin Applets

Demo

28

Page 29: Firma Electrónica sin Applets: AutoFirma Java Web …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

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 …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

Firma Electrónica sin Applets

Incidencias registradas

31

Page 32: Firma Electrónica sin Applets: AutoFirma Java Web …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

Firma Electrónica sin Applets32

Page 33: Firma Electrónica sin Applets: AutoFirma Java Web …...Caso de éxito ;-) 33 34 Firma Electrónica sin Applets Contraportada Manuel.Berenguel@ual.es Paco.Garcia@ual.es Enrique.veasca@gmail.com

Firma Electrónica sin Applets

Caso de éxito ;-)

33