如何验证PDF文档中的数字签名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何验证PDF文档中的数字签名相关的知识,希望对你有一定的参考价值。
下载安装PDF阅读器 Acrobat Reader
安装好后用该阅读器打开PDF文档,此时可以看到数字签名的提示框。,黑色(蓝色)代表已经验证过的数字签名,是可信有效的。
绿色代表未验证但有效的数字签名。
红色表示数字签名无效(可能是文档被篡改,也可能是数字证书过期,具体会有提示)
黄色表示数字证书不被Adobe公司信任。(可能是软件没有更新合作商。也可能是该证书是签名人自己制作的,而不是由第三方可信机构颁发的)有些签名证书由于提前集成在微软发布的Windows各类系统中,但却没有集成在Adobe公司的各类软件中,所以必须调用Windows集成后才会起作用,否则也可能看到是黄色提示。
那么预先集成在Windows中的证书怎么被调用,点击Adobe Acrobat Reader 软件的“编辑”——“首选项”
点击“签名”——“验证~更多”
勾选 “Windows集成”中的两个复选框即可。重新打开文档,看看如果还是黄色,那就说明这个证书不被信任,请联系签名人进行核实。
首先需要安装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】:试用 Adobe LiveCycle Designer 这与 Adobe Master Suit 一起提供,并具有 ES 的所有功能。它与 PKI 基础设施一起工作,并将发布“认证”的 PDF 文档,为收件人证明其真实性。最好从已经存在的东西开始。
【讨论】:
【参考方案4】:我会使用 iTextSharp 签署 PDF。 iTextSharp 是免费和开源的。看看示例代码签名 PDF http://itextpdf.sourceforge.net/howtosign.html 我之前可靠地使用过 iTextSharp。
【讨论】:
【参考方案5】:我使用 Adobe 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文档中的数字签名的主要内容,如果未能解决你的问题,请参考以下文章