小编Bog*_*anM的帖子

PDF/A-3A 文档的 PAdES LTV 签名产生无效签名

介绍

我对标记为符合 PDF/A - 3A 的 PDF 文档进行数字签名时遇到问题。使用 PDFBox(最新版本,2.0.24)我最终在 Adob​​e Acrobat 中得到一个无效签名,而使用 iText7(最新版本)我得到一个有效签名。目标是获得符合 PAdES LTV 的签名。

概述

我的流程如下(同时使用 PDFBox 和 iText7):

  • 我打开 PDF,创建用于签名的哈希值(要签名的数据)
  • 我打电话给第三方服务找回数字签名
  • 在服务响应中,我还获得了为了 LTV 质量需要嵌入到 PDF 中的 OCSP 和 CRL 内容
  • 我在 PDF 中嵌入了签名
  • 我将文档保存到内存中,然后重新打开它以嵌入 OCSP 和 CRL
  • 我嵌入了 OCSP 和 CRL 项,创建了各自的 DSS 和 VRI 词典
  • 我将 PDF 保存到磁盘

对于 PDFBox,签名代码在这里,OCSP/CRL 嵌入代码在这里。对于 iText7,签名和 OCSP/CRL 嵌入的代码在这里

问题

现在,这适用于大多数 PDF 文件,包括多签名文档。问题在于一个特定的 PDF,它被创建为 PDF/A 兼容,级别 3A。

使用 PDFBox,如果我只是嵌入签名并在 Adob​​e Acrobet 中打开文档,则签名是有效的。如果我还嵌入了 OCSP/CRL 内容,则签名不再有效。Adobe Acrobat …

java pdf signing pdfbox pades

4
推荐指数
1
解决办法
123
查看次数

标签 统计

java ×1

pades ×1

pdf ×1

pdfbox ×1

signing ×1