Saltar al contenido principal
Versión: 4.33

Cómo firmar documentos con el agente desatendido usando AutoFirma

Resumen

Esta guía explica cómo firmar documentos usando el agente desatendido y AutoFirma. Es útil para administradores y desarrolladores que buscan mejorar las operaciones de firma.

Contexto

La firma desatendida o masiva se refiere a operaciones de firma automatizadas realizadas sin interacción del usuario. En este modo, los documentos se firman mediante servicios que acceden a las claves de firma necesarias de forma segura y automática. Este enfoque se usa para firmar documentos PDF, archivos XML (como facturas electrónicas) u otros archivos binarios cuando es necesario aplicar firmas en un servidor.

La firma desatendida requiere la instalación del agente Linux de Redtrust.

nota

Redtrust solo es compatible con AutoFirma 1.8.4 o superior.

Antes de empezar

Antes de continuar con esta guía, debes tener:

info

Cuando instales AutoFirma, necesitarás instalar Java y libnss3-tools usando estos comandos:

apt-cache search java | more
sudo apt install openjdk-11-jre
sudo apt install libnss3-tools

Ten en cuenta que el comando sudo apt –fix-broken install documentado en el enlace de AutoFirma puede no funcionar.

Pasos

  1. Accede a tu máquina Linux donde está instalado el agente desatendido.

  2. Comprueba que el agente está en ejecución.

    systemctl status KeyfactorService.service
  3. Configura el agente con las credenciales del usuario de servicio que firmará los documentos.

    keyfactor-setup hostname=IP_O_HOSTNAME clientid=CLIENT_ID username=NOMBRE_DE_USUARIO password=CONTRASEÑA loglevel=NIVEL_DE_LOG

    Por ejemplo, el comando para un usuario cris@local.users en agent01.example.com es:

    keyfactor-setup hostname=agent01.example.com clientid=T4N3r2WBbvKfyYe8/z+SVW5N= username=cris@local.users password=ChangeMe123 loglevel=LOW
    nota

    loglevel representa la cantidad de detalle que se incluirá en los logs. Valores válidos: NONE, LOW, HIGH.

  4. Firma los documentos con el siguiente comando. Este comando llama a AutoFirma e indica que use el módulo PKCS#11 de Redtrust como almacén de certificados.

    autofirma sign -store pkcs11://usr/lib/libkeyfactorpkcs11.so -i NOMBRE_DEL_ARCHIVO_ORIGINAL_CON_EXTENSIÓN -o NOMBRE_ARCHIVO_FIRMADO -filter subject.contains:USER_DNI
    tip

    Si no conoces el DNI asociado al certificado, ejecuta el siguiente comando para ver el subject del certificado y añade cualquier parte del mismo que sea única para ese certificado.

    pkcs11-tool --module /usr/lib/libkeyfactorpkcs11.so --list-objects --type cert

    Como alternativa, usa la interfaz gráfica para seleccionar el certificado que necesites.

    autofirma sign -store pkcs11://usr/lib/libkeyfactorpkcs11.so -i NOMBRE_DEL_ARCHIVO_ORIGINAL_CON_EXTENSIÓN -o NOMBRE_ARCHIVO_FIRMADO -certgui