Saltar a contenido

SSigner Motor - Guía del Usuario

¿Qué es SSigner Motor?

SSigner Motor es una librería Java que permite firmar documentos PDF digitalmente. Es el componente central del sistema de firma que procesa los documentos y aplica la firma digital.


¿Qué puedes hacer?

  • Firmar documentos PDF con certificados digitales
  • Firmar en formato PAdES (estándar PDF) o CAdES (firma adjunta)
  • Usar diferentes almacenes de certificados: Windows, tokens USB (HSM), o archivos P12
  • Validar certificados contra OCSP, CRL y TSL
  • Agregar sellos de tiempo (TSA) para mayor validez
  • Perfiles PAdES/CAdES/PKCS7 segun firma.perfil
  • Firmar documentos XML en XAdES — en desarrollo, ver Funcionalidades

Requisitos

  • Java 17 o superior
  • Certificado digital instalado en el sistema
  • Documentos PDF que deseas firmar

Conceptos Básicos

Certificado Digital

Es el archivo que te identifica como persona o empresa. Contiene tu clave pública, tus datos y la firma de la autoridad certificadora.

Tipos de Almacenamiento

Tipo Descripción ¿Dónde está?
Windows Certificates store de Windows En tu computadora
PKCS#11 Token USB o HSM En tu llave USB
PKCS#12 Archivo P12/PFX En un archivo en disco

Tipos de Firma

Tipo Nombre Descripción
PAdES PDF Advanced Electronic Signature La firma queda dentro del PDF
CAdES CMS Advanced Electronic Signature La firma es un archivo separado

Cómo Ejecutar el Motor

El motor se distribuye como un JAR ejecutable. Puedes correrlo desde la línea de comandos.

Comando Básico

java -jar ssigner-2.5.2-all.jar \
    --configuracion=/ruta/a/tu/config.properties \
    --modalidad=d \
    --operacion=fb

Parámetros Requeridos

Parámetro Descripción
--configuracion Ruta al archivo de propiedades
--modalidad Modo de operación (d = documento)
--operacion Operación a realizar

Operaciones Disponibles

Operación Descripción
fb Generar firma en blanco (prefirma)
f Firmar documento completo
ihf Insertar hash firmado

Ejemplo Completo

java -jar ssigner-2.5.2-all.jar \
    --configuracion=C:/ssigner/config/mis-propiedades.properties \
    --modalidad=d \
    --operacion=fb \
    --campo=__signature__

Verificar que Funciona

java -jar ssigner-2.5.2-all.jar --help

Proceso de Firma

1. Preparar documento → Seleccionar el PDF
2. Generar hash → Crear un resumen único
3. Firmar hash → Tu certificado firma el resumen
4. Insertar firma → Generar el PDF firmado
5. Agregar glosa (opcional) → Texto legal y códigos

Configuración Rápida

Certificado

Windows:

firma.repositorio=Windows-My
firma.alias=tu_alias

Token USB (PKCS#11):

firma.repositorio=PKCS11
firma.repositorio.pkcs11.libreria=C:/ruta/libreria.dll
firma.repositorio.pkcs11.clave=tu_pin
firma.alias=tu_alias

Archivo P12:

firma.repositorio=PKCS12
firma.repositorio.pkcs12.archivo=C:/ruta/certificado.p12
firma.repositorio.pkcs12.clave=tu_contraseña

Carpetas

firma.carpeta.entrada=C:/docs/entrada
firma.carpeta.salida=C:/docs/salida
firma.carpeta.imagen=C:/docs/imagenes

Apariencia básica

firma.visible=true
firma.texto=Firmado por [CN]
firma.imagen=firma.png
firma.estilo=texto-imagen-derecha

Placeholders de Texto

Usa estos en firma.texto para información dinámica:

Placeholder Se reemplaza por
[CN] Tu nombre
[O] Tu organización
[C] País
[FECHA] Fecha actual
[HORA] Hora actual

Ejemplo: firma.texto=Firmado por [CN] el [FECHA]


LTV (Validación a Largo Plazo)

Permite que la firma sea válida indefinidamente aunque el certificado expire.

El codigo no usa una propiedad firma.ltv=true. La validacion de largo plazo se selecciona mediante perfiles como PAdES-LT, PAdES-LTA, PKCS7-LT o PKCS7-LTA en firma.perfil.


Ejemplo Completo

firma.repositorio=Windows-My
firma.alias=MiCertificado
firma.visible=true
firma.texto=Firmado por [CN] el [FECHA]
firma.imagen=firma.png
firma.estilo=texto-imagen-derecha
firma.carpeta.entrada=C:/docs/entrada
firma.carpeta.salida=C:/docs/salida
glosa.habilitar=true
glosa.url=https://verificador.gob.pe
glosa.qr.habilitar=true
firma.perfil=PAdES-LT

Referencia Completa

Para todas las propiedades disponibles, consulta la Guía de Configuración.


Solución de Problemas

Problema Solución
"Certificado no encontrado" Verifica que el alias exista
"La firma no aparece" Revisa coordenadas y página
"Error de validación OCSP" Revisa tu conexión a internet