数字签署PDF文件
我有一个标识用户的数字证书。 我需要使用它来数字签署PDF文件。
有没有人有一个不使用第三方组件的例子? 我需要完成这个工作,但完全理解事情的完成是很好的。
C#示例请:)
开源iTextSharp库将允许你这样做。 这里是一个解释如何数字签署PDF文件的文章。 如果你不想使用第三方库,那么你可以自己实现它,但这可能是一项艰巨的任务 – >你可以从阅读pdf规范开始 (8.6MB)
正确的PDF签名是一项非常复杂的任务。 有许多文件不符合PDF规范(破损的外部参照等),你的代码必须处理所有这些文件。 然后,各种Acrobat版本对签名字段中的某些内容进行不同的处 所以如果你需要完成这个任务(而不是研究它是如何工作的),你应该依赖第三方解决scheme,比如我们的PDFBlackbox组件。
在不使用第三方组件的情况下对PDF文档进行数字签名需要大量工作,通常最好避免。
组件为你做了所有的辛苦工作,所以你不必这样做。 你会发现有一些优秀的免费PDF组件可以满足你的需求。
下面用C#编写的例子展示了使用ABCpdf对PDF文档进行数字签名的简单性:
Doc theDoc = new Doc(); theDoc.Read(Server.MapPath("../Rez/Authorization.pdf")); Signature theSig = (Signature)theDoc.Form["Signature"]; theSig.Location = "Washington"; theSig.Reason = "Schedule Agreed"; theSig.Sign(Server.MapPath("../Rez/JohnSmith.pfx"), "111111"); theDoc.Save(Server.MapPath("Signed.pdf"));
资料来源: ABCpdf文档 – 符号方法
失去我的第一个答案。 可能想给DocQ一个尝试链接文本他们有自己的证书,并可以为你免费/便宜的密封和encryptionPDF文件。 他们也有一个你可以使用的API。