写了个项目,要求对DF文档进行数字签名,核心代码如下:
public static void sign() throws Exception{
// Security.addProvider(new
// org.bouncycastle.jce.provider.BouncyCastleProvider());
KeyStore ks = KeyStore.getInstance("pkcs12");
ks.load(new FileInputStream(cert_path), cert_pwd.toCharArray());
String alias = (String)ks.aliases().nextElement();
PrivateKey key = (PrivateKey)ks.getKey(alias, cert_pwd.toCharArray());
Certificate[] chain = ks.getCertificateChain(alias);
PdfReader reader = new PdfReader("F:\\feiqing.pdf");
FileOutputStream fout = new FileOutputStream("F:\\signed.pdf");
PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0');
// 最后一个参数为true,允许对同一文档多次签名
//stp = PdfStamper.createSignature(reader, fout, '\0', null, true);
PdfSignatureAppearance sap = stp.getSignatureAppearance();
sap.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED);
sap.setReason("I'm the author");
sap.setLocation("Ma");
// comment next line to have an invisible signature
sap.setVisibleSignature(new Rectangle(100, 100, 200, 200), 1, null);
stp.close();
}
分享到:
相关推荐
这个"使用iTextSharp.pdf进行数字签名的demo"是一个示例项目,它展示了如何利用iTextSharp库来对PDF文件进行数字签名,确保文件的完整性和来源的真实性。 数字签名在PDF中的应用主要是为了验证文档的完整性,防止被...
成功创建或导入证书后,需要对证书进行适当的设置,以确保其可以在PDF文档中正确使用。 - **设置权限**:根据实际需求,为证书分配相应的权限,例如只允许在特定文档中使用。 - **启用选项**:在PDF阅读器的数字...
PDF数字签名是确保PDF文档完整性和来源可信的重要技术,它基于公钥基础设施(PKI)。在本项目中,我们使用了Java的ITEXT库来处理PDF文档,以及keytool工具来生成数字证书。以下是关于这些知识点的详细说明: 1. **...
为了确保PDF文件的完整性和安全性,数字签名技术被广泛应用。本资源包含"java数字水印"、"pdf签名"、"数字签名"以及"签名"的相关内容,特别是针对PDF文件的签名操作。 Java数字水印: Java是一种跨平台的编程语言,...
然后,通过iTextPDF的SignatureAppearance和PdfStamper类,可以创建一个可视化的签名字段,并将数字签名应用到PDF文档的特定位置。同时,还需要设置相关的签名属性,如签名的名称、原因等,以确保签名的完整性和合法...
在Java环境中,JSIGNPDF是一个强大的开源工具,它允许我们对PDF文档进行数字签名,以达到防止篡改的目的。这个压缩包包含了JSIGNPDF的源码和jar包,使得开发者能够更深入地理解其工作原理,并且方便地集成到自己的...
pfx 证书是一个包含数字签名的证书文件,我们可以使用它来对 PDF 文档进行数字签名。 下面是一个简单的示例代码,演示如何添加文本数字签名: ```java import com.spire.pdf.PdfDocument; import ...
这个名为"itextsharp signatures 数字签名应用的官方应用代码.rar"的压缩包包含了一组C#示例代码,用于演示如何使用iTextSharp库对PDF文件进行数字签名和验证操作。以下是对这些知识点的详细说明: 1. **iTextSharp...
PDF签名则是在PDF文档中应用数字签名技术,验证文档未被篡改并确认签署者身份。 压缩包内的文件名称列表包括:dss.clw、big.cpp、dss0.cpp、dss.cpp、StdAfx.cpp、dss.dsp、dss.dsw、big.h、StdAfx.h、Resource.h。...
本文将讨论PDF文件中的一个特定方面:数字签名。 数字签名是数字时代解决文档法律价值问题的电子替代品。在法律文件中,可能会包含有关权利和义务的重要信息。在这种情况下,确保文档的真实性就显得尤为重要。你...
DSSelfApi 一个基于Windows的应用程序,可在locla PC上运行,并提供可对pdf文件进行数字签名的自托管API。 为了使符号生效,PC需要在证书存储区中拥有硬件类型的符号证书(已插入“ usb令牌”)。
PDF电子签名是现代数字化办公中常见的一种安全技术,它能够确保文档在传输和存储过程中的完整性和真实性。...通过上述步骤,你可以创建一个能够对PDF文件进行电子签名的Java应用程序,从而确保文档的安全性和完整性。
软件可以将竣工图PDF文件与数字签名结合,生成已签文件夹。 七、.NET Framework 4.0 .NET Framework 4.0是Microsoft开发的一种软件框架。它提供了一个统一的编程模型,用于开发Windows应用程序。本软件需要安装...
在实际应用中,数字签名添加器可能支持多种格式的文件,例如PE文件(Windows可执行文件)、PDF文档、代码库等。同时,它可能集成证书管理功能,帮助用户管理他们的数字证书,包括导入、导出、撤销和更新。 在安全...
- 接收方收到消息和数字签名后,使用发送方的公钥对数字签名进行解密,获得原始摘要值。 - 同时,接收方也使用相同的哈希算法对收到的消息进行摘要处理,比较两个摘要值是否一致。 - 如果一致,则证明消息未被...