Valores aceptados como parámetros adicionales para las firmas PAdES:
- allowCosigningUnregisteredSignatures
-
Si se establece a
true
se permite firmar un PDF incluso si este contiene firmas previas no
registradas dentro de campos Acrobat (AcroFields), condición obligatoria sin la cual es muy
probable que se corrompan las firmas previas.
Si no se establece o se establece a o false
, al intentar firmar un PDF que contenga firmas
no registradas se lanza una excepción de tipo PdfHasUnregisteredSignaturesException
.
- includeOnlySignningCertificate (propiedad compartida con XAdES y CAdES)
-
Si se establece a
true
se incluye en la firma únicamente el certificado del firmante (y no la cadena de certificación completa).
Si no se establece o se establece a o false
se incluirá toda la cadena de certificación.
- alwaysCreateRevision
-
Si se establece a
true
siempre crea una revisión del PDF incluso cuando el documento no contiene
ninguna firma previa.
Esto requiere que los documentos de entrada cumplan estrictamente la especificación PDF 1.7 (ISO 32000-1:2008),
y puede crear incompatibilidades con documentos PDF acordes a la especificación 1.3 creados con bibliotecas
antiguas, como por ejemplo QPDF.
Si se establece a false
, no crea revisiones en documentos que no contengan firmas previas y sí las
crea en documentos que ya contengan alguna firma.
En los documentos cifrados siempre se crea una revisión, sea cual sea el valor de este parámetro.
- image
-
Imagen que se desea insertar en el PDF antes de que este sea firmado. La imagen debe proporcionarse en formato JPEG codificado en Base64.
Si el documento ya contiene firmas es posible que se invaliden, por lo que conviene usarlo únicamente en documentos sin firmas previas.
- imagePage
-
Página donde desea insertarse la imagen indicada mediante el parámetro
image
. La numeración de las páginas
comienza en uno.
Si se indica -1 como número de página se inserta la imagen en la última página del documento.
Si se indica 0 como número de página se inserta la imagen en todas las páginas del documento.
Este parámetro es obligatorio, si no se indica una página válida no se insertará la imagen.
- imagePositionOnPageLowerLeftX
-
Coordenada horizontal inferior izquierda de la posición de la imagen (indicada mediante el parámetro
image
) dentro de la página.
Es necesario indicar el resto de coordenadas de la imagen mediante los parámetros imagePositionOnPageLowerLeftY
,
imagePositionOnPageUpperRightX
e imagePositionOnPageUpperRightY
.
Es necesario indicar también una página de inserción en el parámetro imagePage
.
- imagePositionOnPageLowerLeftY
-
Coordenada vertical inferior izquierda de la posición de la imagen (indicada mediante el parámetro
image
) dentro de la página.
Es necesario indicar el resto de coordenadas de la imagen mediante los parámetros imagePositionOnPageLowerLeftX
,
imagePositionOnPageUpperRightX
e imagePositionOnPageUpperRightY
.
Es necesario indicar también una página de inserción en el parámetro imagePage
.
- imagePositionOnPageUpperRightX
-
Coordenada horizontal superior derecha de la posición de la imagen (indicada mediante el parámetro
image
) dentro de la página.
Es necesario indicar el resto de coordenadas de la imagen mediante los parámetros imagePositionOnPageLowerLeftX
,
imagePositionOnPageLowerLeftY
e imagePositionOnPageUpperRightY
.
Es necesario indicar también una página de inserción en el parámetro imagePage
.
- imagePositionOnPageUpperRightY
-
Coordenada vertical superior derecha de la posición de la imagen (indicada mediante el parámetro
image
) dentro de la página.
Es necesario indicar el resto de coordenadas de la imagen mediante los parámetros imagePositionOnPageLowerLeftX
,
imagePositionOnPageLowerLeftY
e imagePositionOnPageUpperRightX
.
Es necesario indicar también una página de inserción en el parámetro imagePage
.
- attach
-
Contenido a añadir como adjunto al PDF, en formato Base64 (el adjunto será el binario decodificado).
Este parámetro requiere que se haya establecido también el parámetro
attachFileName
.
- attachFileName
-
Nombre de fichero para adjuntar el contenido binario indicado mediante
attach
.
Este parámetro requiere que se haya establecido también el parámetro attach
.
- attachDescription
-
Descripción del contenido binario indicado mediante
attach
.
- certificationLevel
-
Nivel de certificación de la firma PDF.
Los valores admitidos son numéricos, correspondiendo:
- 0 = Firma ordinaria no certificada (por defecto)
- 1 = Firma de autor. No se permite ningún cambio posterior en el documento
- 2 = Firma de autor certificada para formularios. Se permite únicamente el relleno posterior de los campos del formulario
- 3 = Firma certificada. Se permite únicamente el relleno posterior de los campos del formulario o el añadido de firmas de aprobación
- pdfVersion
-
Versión del PDF de salida:
- 2 = PDF 1.2
- 3 = PDF 1.3
- 4 = PDF 1.4
- 5 = PDF 1.5
- 6 = PDF 1.6
- 7 = PDF 1.7
- signatureSubFilter
-
Nombre del sub-filtro en el diccionario PDF para indicar el tipo de la firma. Si no se indica este parámetro por defecto se
usa
adbe.pkcs7.detached
(firma PAdES básica).
Es posible indicar ETSI.CAdES.detached
para generar una firma PAdES-BES, si bien el hacerlo puede causar que al añadir firmas adicionales
al PDF se invaliden las ya existentes.
- signatureField
-
Nombre del campo en donde insertar la firma.
Si el documento PDF tiene ya un campo de firma pre-creado es posible utilizarlo para insertar la firma generada, referenciándolo
por su nombre.
Si se indica un nombre de campo de firma que no exista en el documento PDF proporcionado, se generará una excepción.
- signaturePage
-
Página del documento PDF donde insertar la firma. Puede usarse -1 para referirse a la
última página del documento PDF si se desconoce el número total de
páginas de este.
Las páginas comienzan su numeración desde el uno.
Este parámetro se ignora si se ha establecido valor al parámetro signatureField
, y necesita que se
establezcan valores válidos a los parámetros signaturePositionOnPageLowerLeftX
, signaturePositionOnPageLowerLeftY
,
signaturePositionOnPageUpperRightX
y signaturePositionOnPageUpperRightY
.
- signaturePositionOnPageLowerLeftX
-
Coordenada horizontal inferior izquierda de la posición del recuadro visible de la firma dentro de la página.
Es necesario indicar el resto de coordenadas del recuadro mediante los parámetros signaturePositionOnPageLowerLeftY
,
signaturePositionOnPageUpperRightX
y signaturePositionOnPageUpperRightY
.
Si no se indica una página en el parámetro signaturePage
la firma se inserta en la última página
del documento.
- signaturePositionOnPageLowerLeftY
-
Coordenada vertical inferior izquierda de la posición del recuadro visible de la firma dentro de la página.
Es necesario indicar el resto de coordenadas del recuadro mediante los parámetros signaturePositionOnPageLowerLeftX
,
signaturePositionOnPageUpperRightX
y signaturePositionOnPageUpperRightY
.
Si no se indica una página en el parámetro signaturePage
la firma se inserta en la última página
del documento.
- signaturePositionOnPageUpperRightX
-
Coordenada horizontal superior derecha de la posición del recuadro visible de la firma dentro de la página.
Es necesario indicar el resto de coordenadas del recuadro mediante los parámetros signaturePositionOnPageLowerLeftX
,
signaturePositionOnPageLowerLeftY
y signaturePositionOnPageUpperRightY
.
Si no se indica una página en el parámetro signaturePage
la firma se inserta en la última página
del documento.
- signaturePositionOnPageUpperRightY
-
Coordenada vertical superior derecha de la posición del recuadro visible de la firma dentro de la página.
Es necesario indicar el resto de coordenadas del recuadro mediante los parámetros signaturePositionOnPageLowerLeftX
,
signaturePositionOnPageLowerLeftY
y signaturePositionOnPageUpperRightX
.
Si no se indica una página en el parámetro signaturePage
la firma se inserta en la última página
del documento.
- signatureRubricImage
- Imagen JPEG codificada en Base64 de la rúbrica de la firma manuscrita que se desea aparezca como firma visible en el PDF.
- layer2Text
-
Texto a escribir dentro de la "capa 2" de la firma visible.
Este texto se escribe únicamente si no se ha especificado una
imagen de rúbrica, y necesita que se indique la página y la situación dónde mostrar el recuadro de firma
mediante los parámetros signaturePositionOnPageLowerLeftX
, signaturePositionOnPageLowerLeftY
,
signaturePositionOnPageUpperRightX
, signaturePositionOnPageUpperRightY
y signaturePage
.
- layer2FontFamily
-
Tipo de letra a usar en el texto de la "capa 2" de la firma visible. Este parámetro requiere que se haya establecido también
el parámetro
layer2Text
.
Los valores admitidos son numéricos, correspondiendo:
- 0 = Courier (tipo por defecto)
- 1 = Helvética
- 2 = Times Roman
- 3 = Symbol
- 4 = ZapfDingBats
- layer2FontSize
-
Tamaño de letra a usar en el texto de la "capa 2" de la firma visible. Este parámetro requiere que se haya establecido
también el parámetro
layer2Text
.
Los valores admitidos son numéricos (y el valor por defecto es 12).
- layer2FontStyle
-
Estilo del tipo de letra a usar en el texto de la "capa 2" de la firma visible. Este parámetro requiere que se haya establecido
también el parámetro
layer2Text
.
Los valores admitidos son numéricos, correspondiendo:
- 0 = Normal (estilo por defecto)
- 1 = Negrita
- 2 = Cursiva
- 3 = Negrita y cursiva
- 4 = Subrayado
- 8 = Tachado
Es posible combinar estilos aplicando la operación lógica o sobre los valores numéricos a combinar.
- layer2FontColor
-
Color del texto de la "capa 2" de la firma visible. Este parámetro requiere que se haya establecido
también el parámetro
layer2Text
.
Los valores admitidos son textuales (se ignora entre mayúsculas
y minúsculas), soportándose:
- black = Negro (color por defecto)
- white = Blanco
- gray = Gris
- lightGray = Gris claro
- darkGray = Gris oscuro
- red = Rojo
- pink = Rosa
- signReason
- Razón por la que se realiza la firma (este dato se añade al diccionario PDF, y no a la propia firma).
- signatureProductionCity (propiedad compartida con XAdES y CAdES)
- Ciudad en la que se realiza la firma (este dato se añade al diccionario PDF, y no a la propia firma).
- signerContact
-
Contacto del firmante, usualmente una dirección de correo electrónico
(este dato se añade al diccionario PDF, y no a la propia firma).
- policyIdentifier (propiedad compartida con XAdES y CAdES)
-
Identificador de la política de firma. Debe ser un OID (o una URN de tipo OID) que identifique
unívocamente la política en formato ASN.1 procesable.
- policyIdentifierHash (propiedad compartida con XAdES y CAdES)
-
Huella digital del documento de política de firma (normalmente del mismo fichero en formato ASN.1 procesable).
Si no se indica una huella digital y el parámetro
policyIdentifier
no es una URL accesible
universalmente se usará 0
, mientras que si no se indica una huella digital pero el parámetro
policyIdentifier
es una URL accesible universalmente, se descargara el fichero apuntado por la URL para calcular la huella
digital al vuelo.
- policyIdentifierHashAlgorithm (propiedad compartida con XAdES y CAdES)
-
Algoritmo usado para el cálculo de la huella digital indicada en el parámetro
policyIdentifierHash
.
Es obligatorio indicarlo cuando se proporciona una huella digital distinta de 0
.
- policyQualifier (propiedad compartida con XAdES y CAdES)
-
URL que apunta al documento descriptivo de la política de firma (normalmente un documento PDF con una descripción textual).
- ownerPassword
-
Contraseña de apertura del PDF (contraseña del propietario) si este estaba cifrado.
No se soporta la firma de documentos PDF cifrados con certificados o con algoritmo AES256.
- headLess
-
Evita cualquier interacción con el usuario si se establece a
true
, si no se establece o se establece a false
actúa normalmente (puede mostrar diálogos, por ejemplo, para solicitar las contraseñas de los PDF cifrados). Útil para
los procesos desatendidos y por lotes.
- avoidEncryptingSignedPdfs
-
Si se establece a
true
no cifra los PDF firmados aunque el original estuviese firmado, si no se establece o se establece a
false
los PDF se cifran tras firmarse si el original lo estaba, usando la misma contraseña y opciones que este.
- allowSigningCertifiedPdfs
-
Si se establece a
true
permite la firma o cofirma de PDF certificados sin consultarlo al usuario, si se establece a
false
o cualquier otro valor se lanza una excepción en caso de intentar firmar o cofirmar un PDF certificado y
si no se establece se mostrará un diálogo al usuario para que confirme que desea realizar la firma a pesar de que
el resultado serán una firma no válida.
Si el parámetro headLess
está establecido a true
, no podrá mostrar el diálogo
de confirmación así que llegados a este punto se lanzará una excepción.
No se soporta el cifrado de documentos PDF con certificados o con algoritmo AES256.
- tsType
-
Tipo de sello de tiempo a aplicar:
- 1 = Solo sello a nivel de firma.
- 2 = Solo sello a nivel de documento.
- 3 = Dos sellos, uno a nivel de firma y otro a nivel de documento.
- tsaURL
- URL de la autoridad de sello de tiempo (si no se indica no se añade sello de tiempo).
- tsaPolicy
- Política de sellado de tiempo.
- tsaHashAlgorithm
- Algoritmo de huella digital a usar para el sello de tiempo (si no se establece se usa SHA-1).
- tsaRequireCert
true
si se requiere el certificado de la TSA, false en caso contrario (si no se establece se asume true
).
- tsaUsr
- Nombre de usuario de la TSA.
- tsaPwd
- Contraseña del usuario de la TSA. Se ignora si no se ha establecido además
tsaUsr
.
- tsaSslKeyStore
-
Almacén de claves codificado en Base64 que contiene el certificado SSL cliente que pedirá la TSA al establecer la
conexión HTTPS.
- tsaSslKeyStorePassword
-
Contraseña del almacén de claves que contiene el certificado SSL cliente para las conexiones HTTPS.
- tsaSslKeyStoreType
-
Tipo del almacén de claves que contiene el certificado SSL cliente para las conexiones HTTPS.
El formato JKS
puede no funcionar adecuadamente en Android.
- tsaSslTrustStore
-
Almacén de confianza en base64 que contiene los certificados emisores de confianza del certificado SSL de la TSA.
- tsaSslTrustStorePassword
-
Contraseña del almacén de confianza que contiene los certificados emisores del certificado SSL de la TSA.
- tsaSslTrustStoreType
-
Tipo del almacén de confianza que contiene los certificados emisores del certificado SSL de la TSA.
El formato JKS
puede no funcionar adecuadamente en Android.
- signingCertificateV2 (propiedad compartida con CAdES)
- Si se indica a
true
se utilizará SigningCertificateV2, si se indica cualquier otra cosa SigningCertificateV1.
Si no se indica nada, se utilizará V1 para las firmas SHA1 y V2 para el resto.