Wiki

Atrás

JAVA Implementación de referencia con Servicio de Firma con Cédula de identidad electrónica

Código fuente de la implementación de referencia: https://github.com/agesic-eid/esign

Prerequisitos para la maqueta:

  1. Instalar maven
  2. Instalar BouncyCastle Provider
    1. Bajar la última versión del Provider v1.57 actualemente (https://www.bouncycastle.org/download/bcprov-ext-jdk15on-157.jar)
    2. Editar archivo $JAVA_HOME/jre/lib/security/java.security, en la lista de security providers agregar bouncycastle con la siguiente linea
      1. security.provider.N=org.bouncycastle.jce.provider.BouncyCastleProvider (siendo N el último número de la lista +1)
    3. Copiar la librería BouncyCastle a la carpeta  $JAVA_HOME/jre/lib/ext

Clonar el repositorio del git, ejecutar el comando mvn build

Se descargarán todas las dependencias necesarias para que el proyecto funcione.

Luego se deberán editar los archivos de configuración: application.properties y application-{ambientes}.properties

application.properties

Se pueden configurar el puerto y contexto en el cuál correrá la aplicación.

También se puede cambiar el nivel de logging y el tamaño de archivos que se permiten subir para firmar.

application-{ambiente}.properties

Estos archivos están pensados para que cada ambiente tenga su configuración particular. Para el caso de la maqueta editar únicamente el ambiente dev ya que es el que corre por defecto. (esto está definido en el archivo pom.xml)

Integración con DSS de AGESIC

Para poder utilizar el DSS es necesario darse de alta como RP (Relaying Party). Para esto hay que completar un formulario completando fundamentalmente lo siguiente:

  1. Nombre de servicio - este campo se relaciona con el valor "dss.service.name" en el archivo application.properties
  2. URL de respuesta - este campo se relaciona con el valor "dss.response.url" en el archivo applicacion.properties
  3. También se debe adjuntar un certificado público del firmante para poder validar el request que se envía al DSS para firmar, por otro lado se recibirá el certificado público del DSS de AGESIC para poder validar el response del DSS firmado

Se deben editar las rutas donde se tiene el keystore para firmar el pedido al DSS y el keystore que valida la respuesta del DSS. Para crear un keystore se puede utilizar el comando openssl o usar alguna aplicación como por ejemplo keystore explorer

9161 Accesos
Promedio (0 Votos)
1 comentario(s)

Hay alguna documentación sobre como obtener los certificados? 

00