Servicio de firma digital.

En este tutorial, se verá como firmar un documento PDF haciendo uso de un servicio de spring boot.

Esto se podría usar por ejemplo para el caso de habilitar la firma digital del lado de un servidor.

Lo primero que vamos a necesitar es desplegar el servicio.

A continuación se detallan los pasos para desplegar el servicio en debian.

Si no tiene java y maven instalados lo primero es instalarlos.

  1. sudo apt install openjdk-11-jdk
  2. sudo apt install maven

Una vez instalados, descargar el código fuente con git.

  1. git clone https://gitlab.softwarelibre.gob.bo/adsib/services.git
  2. cd services

Finalmente compilar y ejecutar.

  1. mvn clean package
  2. java -jar target/services-0.0.1-SNAPSHOT.jar

Una vez instalado podemos acceder a la documentación del servicio, disponible en http://localhost:8080/.

Para poder firmar a través del hsm, se requieren los siguientes datos
  • jwt: Token del servicio HSM en la nube, se lo puede obtener del sistema
  • slot: Slot del usuario en el HSM, siempre es el número de CI
  • label: Nombre de la clave privada generada en el HSM, se lo puede obtener del sistema
  • pin: Clave de acceso a la clave privada para la firma digital
  • base64: Documento PDF que se desea firmar en formato base64
  • Al ser un servicio API REST se lo puede consumir desde cualquier lenguaje, obteniendo como respuesta el documento con la firma digital.

    Servicio de firma digital con docker.

    De manera similar al caso anterior, se verá como firmar un documento PDF haciendo uso de un servicio de spring boot, con la diferencia de que el despliegue se lo realizará haciendo uso de Docker.

    A continuación se detallan los pasos para desplegar el servicio con docker.

    Si no tiene Docker instalado lo primero es instalarlo.

    1. sudo apt install docker-ce

    Una vez instalado, descargar el código fuente con git.

    1. git clone https://gitlab.softwarelibre.gob.bo/adsib/services.git
    2. cd services

    Finalmente construir el contenedor y desplegar.

    1. docker build -t servicios_firma .
    2. docker run -it --rm -p 8080:8080 servicios_firma

    Una vez instalado podemos acceder a la documentación del servicio, disponible en http://localhost:8080/.

    Para poder firmar a través del hsm, se requieren los siguientes datos
  • jwt: Token del servicio HSM en la nube, se lo puede obtener del sistema
  • slot: Slot del usuario en el HSM, siempre es el número de CI
  • label: Nombre de la clave privada generada en el HSM, se lo puede obtener del sistema
  • pin: Clave de acceso a la clave privada para la firma digital
  • base64: Documento PDF que se desea firmar en formato base64
  • Al ser un servicio API REST se lo puede consumir desde cualquier lenguaje, obteniendo como respuesta el documento con la firma digital.

    © ADSIB 2019 Bolivia