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¶
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:
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 |