PDF / A firmado con iText7 permite cambiar los documentos adjuntos sin romper una firma
He creado un documento PDF / A con iText7. El documento creado tiene un archivo adjunto (). El archivo adjunto es un archivo .csv. Luego se ha firmado todo el PDF / A. Abrí el archivo adjunto .csv y lo cambié después de haberlo firmado. He utilizado el siguiente código para verificar la firma:
public PdfPKCS7 verifySignature(SignatureUtil util, String name) throws GeneralSecurityException, IOException {
System.out.println("Signature covers whole document: " + util.signatureCoversWholeDocument(name));
System.out.println("Document revision: " + util.getRevision(name) + " of " + util.getTotalRevisions());
PdfPKCS7 pkcs7 = util.verifySignature(name);
System.out.println("Integrity check OK? " + pkcs7.verify());
return pkcs7;
}
Esperaba que la verificación de integridad devolviera un error, pero obtuve:
Signature covers whole document: false
Document revision: 1 of 2
Integrity check OK? true
¿Es este el comportamiento previsto de iText y no he entendido bien la intención de una firma? Esperaría que TODO el documento esté bloqueado para cambios (aparte de llenar formularios o anotaciones si están permitidos).
¿Cuál sería la mejor manera de firmar PDF con archivos adjuntos en caso de que quiera prohibir los cambios de archivos adjuntos?