itext 7:保存数字签名文档时出现问题 (java)

itext 7: Problem save digitally signed document (java)

我有一个数字签名的文档,当从第一个开始创建新文档时,它丢失了签名,这里我显示代码:

    String src = "C:\sign\testpdf\signed_document.pdf";
    String dest = "C:\sign\testpdf\modified_document.pdf";
    PdfReader pdfReader = new PdfReader(src);
    PdfWriter pdfWritter = new PdfWriter(dest);
    PdfDocument pdf2 = new PdfDocument(pdfReader, pdfWritter);
    pdf2.close();
 

有没有办法让新文档保持签名状态?谢谢!

编辑:签名出现在新文档上,但为“未知”。即没有出现签名人的名字

要将更改应用到已签名的 PDF 并保持签名加密有效,您必须创建增量更新。在 iText 术语中,这意味着使用 追加模式 。在 iText 7 中,您可以通过相应地指定冲压属性来使用附加模式:

PdfDocument pdf2 = new PdfDocument(pdfReader, pdfWritter, new StampingProperties().useAppendMode());

注意,您只能对已签名的 PDF 应用一小部分更改,阅读 this answer