`
machunlin
  • 浏览: 27365 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

对pdf文档进行数字签名

    博客分类:
  • java
阅读更多

写了个项目,要求对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();
	}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论
1 楼 java_xiaoxu 2013-07-17  
多谢哈,这段代码帮了我大忙!

相关推荐

    使用iTextSharp.pdf进行数字签名的demo

    这个"使用iTextSharp.pdf进行数字签名的demo"是一个示例项目,它展示了如何利用iTextSharp库来对PDF文件进行数字签名,确保文件的完整性和来源的真实性。 数字签名在PDF中的应用主要是为了验证文档的完整性,防止被...

    PDF中数字签名设置步骤

    成功创建或导入证书后,需要对证书进行适当的设置,以确保其可以在PDF文档中正确使用。 - **设置权限**:根据实际需求,为证书分配相应的权限,例如只允许在特定文档中使用。 - **启用选项**:在PDF阅读器的数字...

    PDF数字签名(ITEXT+keytool)

    PDF数字签名是确保PDF文档完整性和来源可信的重要技术,它基于公钥基础设施(PKI)。在本项目中,我们使用了Java的ITEXT库来处理PDF文档,以及keytool工具来生成数字证书。以下是关于这些知识点的详细说明: 1. **...

    pdf.rar_java数字水印_pdf_pdf签名_数字签名_签名

    为了确保PDF文件的完整性和安全性,数字签名技术被广泛应用。本资源包含"java数字水印"、"pdf签名"、"数字签名"以及"签名"的相关内容,特别是针对PDF文件的签名操作。 Java数字水印: Java是一种跨平台的编程语言,...

    java多种方式实现pdf文件电子签名

    然后,通过iTextPDF的SignatureAppearance和PdfStamper类,可以创建一个可视化的签名字段,并将数字签名应用到PDF文档的特定位置。同时,还需要设置相关的签名属性,如签名的名称、原因等,以确保签名的完整性和合法...

    Pdf电子签名及jar包

    在Java环境中,JSIGNPDF是一个强大的开源工具,它允许我们对PDF文档进行数字签名,以达到防止篡改的目的。这个压缩包包含了JSIGNPDF的源码和jar包,使得开发者能够更深入地理解其工作原理,并且方便地集成到自己的...

    Java PDF 添加数字签名的实现方法

    pfx 证书是一个包含数字签名的证书文件,我们可以使用它来对 PDF 文档进行数字签名。 下面是一个简单的示例代码,演示如何添加文本数字签名: ```java import com.spire.pdf.PdfDocument; import ...

    itextsharp signatures 数字签名应用的官方应用代码.rar

    这个名为"itextsharp signatures 数字签名应用的官方应用代码.rar"的压缩包包含了一组C#示例代码,用于演示如何使用iTextSharp库对PDF文件进行数字签名和验证操作。以下是对这些知识点的详细说明: 1. **iTextSharp...

    dss.rar_DSS数字签名_dss_pdf签名_数字签名_数字签名 代码

    PDF签名则是在PDF文档中应用数字签名技术,验证文档未被篡改并确认签署者身份。 压缩包内的文件名称列表包括:dss.clw、big.cpp、dss0.cpp、dss.cpp、StdAfx.cpp、dss.dsp、dss.dsw、big.h、StdAfx.h、Resource.h。...

    PDF数字签名介绍

    本文将讨论PDF文件中的一个特定方面:数字签名。 数字签名是数字时代解决文档法律价值问题的电子替代品。在法律文件中,可能会包含有关权利和义务的重要信息。在这种情况下,确保文档的真实性就显得尤为重要。你...

    DSSelfApi:一个基于Windows的应用程序,基于本地PC令牌对pdf文件进行数字签名

    DSSelfApi 一个基于Windows的应用程序,可在locla PC上运行,并提供可对pdf文件进行数字签名的自托管API。 为了使符号生效,PC需要在证书存储区中拥有硬件类型的符号证书(已插入“ usb令牌”)。

    java实现pdf文件电子签名

    PDF电子签名是现代数字化办公中常见的一种安全技术,它能够确保文档在传输和存储过程中的完整性和真实性。...通过上述步骤,你可以创建一个能够对PDF文件进行电子签名的Java应用程序,从而确保文档的安全性和完整性。

    上海市工程图纸数字签名软件(竣工图版)操作说明8扫描.pdf

    软件可以将竣工图PDF文件与数字签名结合,生成已签文件夹。 七、.NET Framework 4.0 .NET Framework 4.0是Microsoft开发的一种软件框架。它提供了一个统一的编程模型,用于开发Windows应用程序。本软件需要安装...

    数字签名添加器 数字签名添加器

    在实际应用中,数字签名添加器可能支持多种格式的文件,例如PE文件(Windows可执行文件)、PDF文档、代码库等。同时,它可能集成证书管理功能,帮助用户管理他们的数字证书,包括导入、导出、撤销和更新。 在安全...

    数字签名 数字签名,[美]Mohan Atreya等著 贺军等译,清华大 pdf

    - 接收方收到消息和数字签名后,使用发送方的公钥对数字签名进行解密,获得原始摘要值。 - 同时,接收方也使用相同的哈希算法对收到的消息进行摘要处理,比较两个摘要值是否一致。 - 如果一致,则证明消息未被...

Global site tag (gtag.js) - Google Analytics