如何验证PDF文档中的数字签名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何验证PDF文档中的数字签名相关的知识,希望对你有一定的参考价值。

    下载安装PDF阅读器 Acrobat Reader

    安装好后用该阅读器打开PDF文档,此时可以看到数字签名的提示框。,黑色(蓝色)代表已经验证过的数字签名,是可信有效的。

    绿色代表未验证但有效的数字签名。

    红色表示数字签名无效(可能是文档被篡改,也可能是数字证书过期,具体会有提示)

    黄色表示数字证书不被Adobe公司信任。(可能是软件没有更新合作商。也可能是该证书是签名人自己制作的,而不是由第三方可信机构颁发的)有些签名证书由于提前集成在微软发布的Windows各类系统中,但却没有集成在Adobe公司的各类软件中,所以必须调用Windows集成后才会起作用,否则也可能看到是黄色提示。

    那么预先集成在Windows中的证书怎么被调用,点击Adobe Acrobat Reader 软件的“编辑”——“首选项”

    点击“签名”——“验证~更多”

    勾选 “Windows集成”中的两个复选框即可。重新打开文档,看看如果还是黄色,那就说明这个证书不被信任,请联系签名人进行核实。

参考技术A 密信文档数字签名服务使得用户无需向CA申请PDF签名证书,无需依赖于电子签名服务提供商,直接在自己的电脑上使用密信APP即刻完成Adobe全球信任和国密合规的PDF文档签名,并且不限制文档数量,已签名文档自动副署时间戳签名和支持Adobe LTV(签名长期有效)。用户随时可以数字签名各种待发布PDF文件,以保证发布的文件可信和防止非法篡改和非法假冒。用户在自己电脑上完成文档的数字签名,文档不离开用户电脑,确保了用户文档的机密信息安全。密信APP还支持在签名文档时用有权阅读此文档的用户的加密证书公钥加密此文档,确保只有有权阅读者才能无缝正常用Adobe阅读器打开查看,其他人无法解密阅读此文档。 参考技术B 你可以用好签来验证试试看,比如时间戳,地理位置等等都可以进行查验 参考技术C

首先需要安装PDF工具

然后打开已经下载到自己电脑的PDF申请表单文件

在文档下面有个签名,点击进去添加

添加好之后记得保存PDF文件

如何在 Web 应用程序中对 PDF 文档进行数字签名?

【中文标题】如何在 Web 应用程序中对 PDF 文档进行数字签名?【英文标题】:How to digitally sign PDF documents in a web application? 【发布时间】:2010-01-27 14:45:42 【问题描述】:

我正在构建一个 Web 应用程序,它最允许用户使用安装在客户端计算机中的证书对 PDF 文档进行数字签名。

签名后的文档应发回服务器,服务器将在其中存储签名版本。

服务器正在运行 Classic ASP/ASP.NET

我应该去哪里?

【问题讨论】:

Daniel, se você puder resgatar como resolveu esse problema vou agradecer muito! Estou com este mesmo questiona agora。 服务器上的 pdf 组件应该能够支持提供 pdf 哈希,然后将从浏览器接收到的签名容器注入回 pdf 文件。在浏览器端,使用 Signer.Digital Chrome 扩展程序或任何可以将签名值返回到服务器的浏览器扩展程序,其中 pdf 组件会将签名注入 pdf 文档。参考***.com/a/55676351/9659885 示例 ASP.NET MVC 项目可用于download 【参考方案1】:

我实际上在我们的 Web 应用程序中构建了一个这样的系统。以下是我发现对这样做非常有帮助的一些链接:

http://www.codeproject.com/KB/vb/Digital_Signatures.aspx

http://www.devx.com/security/Article/17249/0/page/2

http://www.example-code.com/vbdotnet/digSig1.asp

http://www.abanet.org/scitech/ec/isc/dsg-tutorial.html

http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/sdkHelp/wwhelp/wwhimpl/common/html/wwhelp.htm?context=sdkHelp&file=signaturesSigning.90.4.html

http://www.c-sharpcorner.com/UploadFile/Gowri%20S%20Paramasivam/Cryptography211242005003308AM/Cryptography2.aspx

【讨论】:

【参考方案2】:

寻找用于签署 PDF 文档的 java 库。您可以将它们部署在应该适合您的 Web 应用程序的小程序中。如果用户需要在签名之前预览 PDF 文档,请查看来自 Qoppa Software 的 java bean jPDFNotes。如果可以在不预览的情况下对文档进行签名,请查看它们的其他库 jPDFFields 或 jPDFProcess。还有 iText 是一个开源库,但 iText 不支持查看文档,所以它只能在第二种情况下工作。

【讨论】:

【参考方案3】:

试用 Adob​​e LiveCycle Designer 这与 Adob​​e Master Suit 一起提供,并具有 ES 的所有功能。它与 PKI 基础设施一起工作,并将发布“认证”的 PDF 文档,为收件人证明其真实性。最好从已经存在的东西开始。

【讨论】:

【参考方案4】:

我会使用 iTextSharp 签署 PDF。 iTextSharp 是免费和开源的。看看示例代码签名 PDF http://itextpdf.sourceforge.net/howtosign.html 我之前可靠地使用过 iTextSharp。

【讨论】:

【参考方案5】:

我使用 Adob​​e FDF 工具包编写 FDF 到 PDF 编程。我可以使用 Acrobat Pro 的完整版并使用 W-2、I-9 Federal Forms 放置字段和签名框以及 Topaz Systems 签名板,基于压力点、角度等...... activex 算法将保存签名和所有内容到 sql server 数据库中,我可以另辟蹊径,从 SQL Server 填充 PDF。

【讨论】:

【参考方案6】:

我们的 SecureBlackbox 库有一个分布式加密插件,可以满足您的需求。执行签名的客户端模块可以由用户扩展(我们提供完整的源代码)。您将在on our site 或this SO answer 中找到附加组件的详细说明。

【讨论】:

【参考方案7】:

去http://www.certisign.com.br/他们有你的答案。 CertSign 拥有启用数字认证的 API 和培训。

当我更新我的数字 CPF http://loja.certificadodigital.com.br/Serasa/Serasa-Certificados-Digitais/D1时,这个地方完全符合您的需要

【讨论】:

【参考方案8】:

我们在客户端使用Silverlight 和BouncyCastle,在服务器中使用iTextSharp。

【讨论】:

silverlight 已过时

以上是关于如何验证PDF文档中的数字签名的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Web 应用程序中对 PDF 文档进行数字签名?

Spire.PDF for NET能给文档加密么

怎么样把PDF文件中的电子签名提取出来转换成PDF格式?

尝试使用 java 签署 pdf 文档。为啥 PDF 文件中的签名无效?

怎么给PDF文件添加数字签名

如何在pdf文件中进行电子签名