如何解决在 PAdES 第 4 部分的情况下,带有文档锁定的签名无效
我遇到了一个问题,我在 PAdES 第 4 部分的情况下设置了文档锁定功能。执行文档时间戳签名后签名无效。
PdfSigFieldLock pdfSigFieldLock = new PdfSigFieldLock();
pdfSigFieldLock.SetDocumentPermissions(PdfSigFieldLock.LockPermissions.NO_CHANGES_ALLOWED);
string[] fieldToLock = new string[] { signingRequest.FieldName };
pdfSigFieldLock.SetFieldLock(PdfSigFieldLock.LockAction.ALL,fieldToLock);
pdfSigFieldLock.GetPdfObject().Remove(PdfName.Fields);
pdfSigner.SetFieldLockDict(pdfSigFieldLock);
文件附在此处: https://ascertia0-my.sharepoint.com/:f:/g/personal/muddassir_awan_ascertia_com/EpCcxOWGtLdIlR7MYO9LXf0BNtrUim3aCFdCUNbeRK8rIw?e=xAGnMU
问候, 穆达西尔·阿万
解决方法
这是 Adobe Acrobat 签名验证例程中的一个已知错误; Adobe PDF 架构师兼首席科学家 Leonard Rosenthol 承诺在未来版本中解决这个问题。
请参阅 this comment 以了解 Apache PDFBox 问题 PDFBOX-3017:
Maruan Sahyoun 添加了评论 - 02/Nov/20 20:14 |
---|
收到 Leonard Rosenthol 的更新:
想回复您,我们已经记录了一个关于此的错误,并将在未来版本中解决该问题。
感谢您提醒我们注意这一点。
进一步
我:据我所知 - 在签名后添加 LTV 应该是可能的,但目前被 Acrobat 错误标记是正确的吗?
伦纳德:正确
一分钟问题:您添加了一个扩展条目:
/Extensions<</ESIC<</BaseVersion/1.7/ExtensionLevel 5>>>>
虽然这确实可能是对使用 PAdES 语法的验证器的一个很好的提示,但它严格来说是无效的在您的 PDF 中声明自己为 PDF-1.6,请参阅this eSig DSS issue 中的讨论。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。