
es.gob.afirma.signers.pades.doc-files.extraparams.html Maven / Gradle / Ivy
Show all versions of afirma-crypto-pdf Show documentation
Valores aceptados como parámetros adicionales para las firmas PAdES
Valores aceptados como parámetros adicionales para las firmas PAdES:
- compressPdf
-
Si se establece a
false
no se comprime el PDF resultante. Si no se establece o se establece a
cualquier otro valor distinto de false
, el PDF de salida (firmado) se comprime para que ocupe
menos tamaño.
Igualmente, esta propiedad no tiene efecto en los PDF-A1, este tipo de PDF nunca se comprime al guardarse.
- signTime
-
Establece la fecha y hora indicadas como momento de la firma. Debe establecerse en el formato
yyyy:MM:dd:HH:mm:ss
.
Por ejemplo, la cadena 2010:12:25:12:30:01
indica el venticinco de diciembre de 2010 a las 12 horas, treinta minutos
y un segundo.
Se toma siempre como zona horaria la establecida en la máquina donde se ejecuta el firmador.
Este parámetro solo funciona en firmas monofásicas.
- allowCosigningUnregisteredSignatures
-
Si se establece a
true
se permite firmar un PDF incluso si este contiene firmas previas no
registradas dentro de campos Acrobat (AcroFields). El firmar un PDF que contenga firmas no registradas puede
dar como resultado que se invaliden estas firmas previas, por lo que no se recomienda permitirlo.
Si no se establece o se establece a 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 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.
Si se define una política de firma este valor siempre será el correspondiente a la firma PAdES-BES: ETSI.CAdES.detached
.
- 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. Si no se establece o es -1 se
usará la última página del documento PDF.
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
.
Este texto puede incluir una serie de palabras clave que serán sustituidas por los textos apropiados del titular o emisor del
certificado de firma:
- $$SUBJECTCN$$
- Nombre común (CN, Common Name) dentro del
X.500 Principal
del titular del certificado de firma.
- $$ISSUERCN$$
- Nombre común (CN, Common Name) dentro del
X.500 Principal
del emisor del certificado de firma.
- $$CERTSERIAL$$
- Número de serie del certificado de firma.
- $$SIGNDATE=
PATRÓN
$$
-
Fecha de la firma, donde
PATRÓN
debe indicar el formato en el que debe mostrarse la fecha, siguiendo el esquema
definido por Oracle para la clase SimpleDateFormat.
Así, por ejemplo, el texto "Firmado por $$SUBJECTCN$$ el día $$SIGNDATE=dd/MM/yyyy$$.
" resultará finalmente
en el PDF como "Firmado por Tomás García-Merás el día 04/01/2016.
" suponiendo que el CN del titular del certificado
de firma es Tomás García-Merás
y que la firma se realiza el 04/01/2016.
- 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 lanzará una Excepción, 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.
- 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
.
- tsaExtensionOid
-
OID de la extensión a añadir a la petición al servidor de sello de tiempo (opcional). Solo se permite indicar una extensión.
- tsaExtensionValueBase64
-
Valor, en binario convertido a Base64, de la extensión a añadir a la petición al servidor de sello de tiempo.
Se ignora si no se ha establecido además
tsaUsr
.
- tsaExtensionCritical
-
Indica si la extensión indicada en
tsaExtensionOid
es crítica (valor true
) o no (valor false
).
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.