小编Sub*_*ies的帖子

PDFBox - 打开并保存签名的 pdf 会使我的签名无效

我正在尝试学习使用 Apache 的 pdfBox 来处理工作中的数字签名文档。在测试过程中,我创建了一个完全空的 pdf 文档。

然后我通过 Adob​​e reader 使用带有证书的签名功能对文档进行了签名。

我尝试使用 pdfBox 打开、保存和关闭签名文件,而不进行任何修改。但是,一旦我在 Adob​​e 中打开该文件,这些文件就不再有效。

Adobe 告诉我:“此签名中包含的格式或信息存在错误(支持信息:SigDict/Contents 非法数据)”

由于我没有修改文件的内容,直观上不应该有任何问题,签名应该仍然有效,但事实并非如此,我不知道解决方案是什么(谷歌搜索没有结果)。

我如何创建文档:

@Test
public void createEmptyPDF() throws IOException {
    String path = "path to file";
    PDDocument document = new PDDocument();
    PDPage page = new PDPage();
    document.addPage(page);
    document.save(path);
    document.close();
}
Run Code Online (Sandbox Code Playgroud)

然后我用 adobe 签名并通过以下方式传递:

 @Test
public void copySignedDocument() throws IOException {
    String path = "path to file";
    File file = new File(path);
    PDDocument document = PDDocument.load(file);
    document.save(file);
    document.close();

    //just opening and saving the …
Run Code Online (Sandbox Code Playgroud)

java pdf adobe digital-signature pdfbox

5
推荐指数
1
解决办法
6654
查看次数

标签 统计

adobe ×1

digital-signature ×1

java ×1

pdf ×1

pdfbox ×1