【问题标题】:Digitally Sign a protected PDF (Printing not allowed, signing allowed)对受保护的 PDF 进行数字签名(不允许打印,允许签名)
【发布时间】:2017-06-13 19:42:00
【问题描述】:

我有一个受密码保护的文档(不允许打印),我想对其进行数字签名。使用 iText 打开文件时出现 BadPasswordException。

我在书中读到 iText 需要密码来操作文档,所以我给 PDFReader 构造函数提供了密码,我有这个例外:

java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V

元数据好像也被加密了。

我的问题:

有没有办法在没有密码的情况下对文档进行数字签名?允许签名

文档不是从 iText 创建的,如何绕过元数据加密?(DO_NOT_ENCRYPT_METADATA)

谢谢 贾米尔

【问题讨论】:

  • java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V - 听起来您的类路径中有较旧的 java xml API 实现和较新的 java xml API。请清理您使用的罐子。
  • AbstractMethodError 通过从类路径中删除 xerces 库解决:stackoverflow.com/questions/23831030/…

标签: itext digital-signature password-encryption


【解决方案1】:

根据这篇帖子https://forums.adobe.com/thread/1661225,除非出现空白的数字签名字段,否则不可能对受保护的文档进行数字签名。

我试图添加一个没有空白数字签名字段的数字签名,这似乎是不可能的

来自 iText 的任何确认?

贾米尔

【讨论】:

  • 如果文档当前仅受密码加密保护,而不是其他签名保护,您可以取消保护然后签名(如果需要,可以再次保护)。不过,如果您不想删除原始保护,Adobe 论坛上的答案是正确的。
  • 是否可以保护已签名的文档?保护不会影响数字签名?
  • 你必须同时签名和保护。
  • 同时是什么意思?任何提示
  • 你说的同时是什么意思? - 相同的PdfStamper标志也应该(重新)引入密码保护。
【解决方案2】:

以下帖子How can I lock a PDF document after signing it? 有解决方案以及如何进行。我应用了它,它正在工作。

我的情况不同,因为在受保护文档的第一个数字签名之后,我想在不同的区域和不同的证书再次对其进行签名,这取决于工作流程。由于 mkl 确认了 Adob​​e 的答案,这是不可能的

被锁定的文件签名一次:

被锁定的文件签署了两次:

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 2019-04-28
    • 2018-05-26
    • 1970-01-01
    • 2012-07-28
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多