¿Cómo agregar una página en blanco en un pdf firmado digitalmente usando Java?

3 minutos de lectura

¿Cómo agregar una página en blanco en un pdf firmado digitalmente usando Java?
Khan SaAb

Quiero insertar una página en blanco al final del PDF digitalmente usando itext library.y mi confusión es que agregar páginas invalidará las firmas existentes? Gracias.

¿Cómo agregar una página en blanco en un pdf firmado digitalmente usando Java?
mkl

Para poner la respuesta de Joeri en contexto, eche un vistazo al documento técnico de Adobe Firmas digitales, cambios y mejoras de Adobe Acrobat 9, especialmente su sección “Cambios permitidos y no permitidos”. Aquí adobe aclara los cambios permitidos (como se ve en Acrobat 9 y superior) que se puede hacer a un documento certificado o firmado sin invalidar las firmas aplicadas al documento.

Acciones permitidas para documentos certificados

Certificado sin cambios permitidos

Permitido

  • No se permiten cambios

no permitido

  • Firma digital
  • Suministro de valores de campo de formulario
  • Agregar o editar anotaciones
  • Adición de campos de formulario
  • Cambiar el contenido de la página

Certificado con llenado de formulario y firmas digitales permitidas

Permitido

  • Suministro de valores de campo de formulario
  • Firma digital

no permitido

  • Agregar o editar anotaciones
  • Adición de campos de formulario
  • Cambiar el contenido de la página

Certificado con anotaciones, llenado de formularios y firmas digitales, permitido

Permitido

  • Agregar o editar anotaciones
  • Suministro de valores de campo de formulario
  • Firma digital

no permitido

  • Adición de campos de formulario
  • Cambiar el contenido de la página

Acciones permitidas para documentos firmados pero no certificados

Permitido

  • Adición de campos de firma (ver Limitaciones en la adición de campos de firma a documentos firmados pero no certificados)
  • Agregar o editar anotaciones
  • Suministro de valores de campo de formulario
  • Firma digital

no permitido

  • Agregar campos de formulario que no sean campos de firma
  • Cambiar el contenido de la página

Como ve, “Cambiar el contenido de la página” siempre está en la categoría “No permitido”. Como agregar una página cambia el contenido de la página (después hay al menos una página en blanco donde antes no había nada), esto no está permitido.

(Aunque no se menciona explícitamente aquí, lo más probable es que también se permita crear instancias de plantillas de página siempre que se permitan completar formularios, ya que eso se ajustaría al estándar PDF, cf. ISO 32000-1 apartado 12.8.2.2.2. Pero hacer uso de dichas plantillas de página al menos requeriría que el documento se preparara especialmente antes de firmarlo, y su pregunta parece que los documentos ya están firmados sin tal preparación…)

PD: Obviamente, incluso estos permitido los cambios deben agregarse en el modo de adición, también conocido como actualizaciones incrementales. Cualquier otra cosa romperá la firma para siempre. Para algunos fondos ver esto responder.

  • Solo una adición: si la página en blanco se agrega en modo adjunto, el rango de bytes de la firma no se modifica, por lo que la firma es correcta desde una vista criptográfica. Otra pregunta son los cambios no permitidos que Adobe agregó desde la versión 9 de Acrobat que mkl ha explicado. Entonces Adobe consideraría esta firma como inválida.

    – Egl

    11 de enero de 2017 a las 16:29

¿Cómo agregar una página en blanco en un pdf firmado digitalmente usando Java?
joeri hendrickx

Sí lo hará. La firma se basa en el contenido que se firma, por lo que si cambia el contenido, la firma ya no es válida.

Si eres el firmante, puedes volver a firmar el documento.

Si las páginas que agrega están en blanco es irrelevante.

  • @ NK123 eso no importa. Consulte la respuesta de MKL para obtener una lista de los cambios permitidos. Básicamente no permite nada en el contenido.

    – Joeri Hendrickx

    23 de mayo de 2013 a las 11:38

¿Ha sido útil esta solución?