Documentación técnica de la cédula de identidad con chip

JAVA: implementación de referencia con servicio de firma con Cédula de Identidad Digital

Acceder al código fuente de la implementación de referencia.

Requisitos para la maqueta:

1. Instalar maven.
2. Instalar BouncyCastle Provider.

  •  Bajar la última versión del Provider (v1.57, actualmente).
  •  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)
  •  Copiar la librería BouncyCastle a la carpeta  $JAVA_HOME/jre/lib/ext

Clonar el repositorio del git y 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 el contexto en el cual 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 ello, hay que completar un formulario completando, fundamentalmente, lo siguiente:

  • Nombre de servicio: Este campo se relaciona con el valor "dss.service.name" en el archivo application.properties.
  • URL de respuesta: Este campo se relaciona con el valor "dss.response.url" en el archivo applicacion.properties.
  • 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 está 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".

Etiquetas