当前位置: 首页 > 知识库问答 >
问题:

iTextSharp不呈现数字签名

蔚和风
2023-03-14

我已经阅读了I-TEXT数字签名电子文本,以及MKL(他似乎和布鲁诺一起是这个主题的权威)回答的以前的帖子。

本质上,我有一个Azure应用程序服务,它从公司的签名API获得数字签名(基础64)和证书链。该公司的签名API在Base64中返回签名以及证书链。

我只想在pdf中插入一个签名对象/容器,这样当最终用户打开pdf时,它就会显示在签名面板中。我更喜欢使用延期签名。

可悲的是,事情不能工作,我在Acrobat中得到这些错误:签名无效,在格式或此签名中包含的信息中有错误,签名的身份尚未被验证,签名时间从签名者计算机上的时钟开始...而且,如果我在Acrobat中单击此错误下面的证书详细信息,它是空白的。这几乎就是我在尝试“ClientServerSigning示例”时遇到的错误。

我很努力想知道会是什么...我应该试着从12000修改估计的大小并把它提高吗?或者我在Acrobat中得到的错误,也许他们暗示来自公司API的证书链没有被签署延期集装箱构造代码所接收...我很挣扎,但任何提示都将非常感谢

埃文

至于在散列发送签名之前“准备”pdf...我在ClientSigning示例中没有看到任何专门准备pdf的内容,我可以假设IText库在暗地里准备它吗?

共有1个答案

胡承悦
2023-03-14

在你的问题和你对它的评论中,你似乎特别感兴趣的是

  • 是否可以使用只将证书与签名一起返回的签名API,以及
  • 何时推迟签名。

要回答这个问题,首先必须澄清所讨论的签名API创建了什么样的签名,普通的签名值(例如,PKCS#1 RSA签名)还是完整的CMS签名容器。

延迟签名和其他iText签名调用的区别并不在于延迟签名需要更少的信息(与ExternalContainer签名相比)。

与其他iText签名方法相比,signdeferred重用PDF中最外层的已填充签名字段进行签名,而仅仅替换其中的签名容器。

方法名来自它所使用的最常见的用例:

    null
 类似资料:
  • 我在iText web上遵循了这个示例(http://gitlab.itextsupport.com/itextsharp/tutorial/blob/master/signatures/chapter5/C5_03_CertificateValidation/C5_03_CertificateValidation.cs),但结果与我预期的不一样。具体地说,当试图通过OCSP或CRL验证签名时,结

  • 出身背景 我使用iTextSharp已经有一段时间了。我已经创建了一个带有两个可签名的PdfFormFields的pdf文档。如果我打开pdf文档,我可以手动对每个字段进行手动签名。我希望通过iTextSharp完成这件事。 我目前正在从X509Store检索证书。直到现在,我都能弄明白。 问题 有人能告诉我如何使用X509Certificate2签署一个已经存在的签名字段吗。 工具书类 以下参考

  • 我正在使用iTextSharp&pkcs11RsaSignature在PDF文档的每一页插入数字签名。以下是我的代码: 可以看出,这不是一种非常优雅的编程方式,因为文件的读写次数与页数一样多。是否有其他方法在PDF文件的每一页插入数字签名。 这里实际上要做的是--如果PDF文档被拆分为页(将来),因为内容没有改变,所以技术上数字签名应该对它签署的页有效。但我知道签名会作废的。(重新表述问题--是否

  • 问题内容: 我正在开始一个JSF项目(这是我第一次使用JSF),并且在呈现标签方面遇到问题。我正在Eclipse中进行开发,并将TomCat用作服务器。 我的login.jsp文件:https : //gist.github.com/code-curve/e7e557262d407dddd1f3 我的web.xml文件:https : //gist.github.com/code-curve/52

  • 我正在尝试通过签名服务签署一个pdf文件。这个服务需要发送一个十六进制编码的SHA256摘要,作为回报,我会收到一个十六进制编码的SignatureValue。此外,我还收到了签名证书、中间证书、OCSP响应和TimeStampToken。但是,我在尝试使用SignatureValue对pdf进行签名时已经陷入了困境。 我读过布鲁诺的白皮书,过度浏览互联网,尝试了很多不同的方式,但签名不断出现无效