使用 iText 签名,Adobe Reader 报告 "Signature was created using Not available."

Signing using iText, Adobe Reader reports "Signature was created using Not available."

我正在使用 iText 成功签署文档。但是,每当我在 Adob​​e Reader 中检查 "Advanced Signature Properties" 时,我都会看到 "Signature was created using Not available."

我的问题是,如何使用 iText 更新这条信息,然后在 Adob​​e Reader 或任何其他 PDF reader 中正确显示?

编辑#1:

建议使用 PdfSignatureAppearance class 的 setSignatureCreator(String signatureCreator) (API and Source) 的答案。这未能成功更新 Adob​​e Reader 中的签名详细信息。结果与上面的屏幕截图相同。

这里是确切的代码:

signer.getSignatureAppearance().setSignatureCreator("iText 7.0.2");

您可以使用SignatureAppearance.setSignatureCreator(String signatureCreator)方法指定签名创建者。您可以使用 signatureAppearance = pdfSigner.getSignatureAppearance() 获取签名的 SignatureAppearance,使用 pdfSigner 用于创建相关签名的 PdfSigner 对象。

仅供参考(以及使用不同库(如 PdfBox 或更早的 *Text 版本)的人)。 Adobe 为此使用 Prop_Build 词典。 App 字典定义了以下两个连接在一起的属性:

  • Name(例如"Adobe Acrobat Reader DC")
  • REx(例如“2017.009.20044”)

有关 "Digital Signature Build Dictionary Specification" 的更多信息在 separate document 中奇怪地定义。