2024-06-24 13:43:26 发布
网友
我有一个识别用户的数字证书。我需要用它对pdf文件进行数字签名。
有没有人举了一个不使用第三方组件的例子?我需要完成这件事,但如果能完全理解事情是如何完成的就好了。
C#请举例:)
开源的iTextSharp库将允许您这样做。这里有一个post解释如何对pdf文件进行数字签名。如果您不想使用第三方库,那么您可以自己实现它,但这可能是一项艰巨的任务->;您可以从阅读pdf specification(8.6MB)开始
正确的PDF签名是一项非常复杂的任务。存在许多不符合PDF规范的文件(损坏的外部参照等),您的代码必须处理所有这些文件。然后,不同的Acrobat版本对签名字段中的某些内容进行不同的处理。因此,如果您需要完成任务(而不是研究它是如何工作的),您应该依赖第三方解决方案,比如我们的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 documentation - Sign method
开源的iTextSharp库将允许您这样做。这里有一个post解释如何对pdf文件进行数字签名。如果您不想使用第三方库,那么您可以自己实现它,但这可能是一项艰巨的任务->;您可以从阅读pdf specification(8.6MB)开始
正确的PDF签名是一项非常复杂的任务。存在许多不符合PDF规范的文件(损坏的外部参照等),您的代码必须处理所有这些文件。然后,不同的Acrobat版本对签名字段中的某些内容进行不同的处理。因此,如果您需要完成任务(而不是研究它是如何工作的),您应该依赖第三方解决方案,比如我们的PDFBlackbox组件。
在不使用第三方组件的情况下对PDF文档进行数字签名需要做大量工作,通常最好避免这样做。
组件为您完成所有的艰苦工作,所以您不必。您应该会发现有一些优秀的免费PDF组件可以满足您的需要。
以下用C#编写的示例显示了使用ABCpdf对PDF文档进行数字签名是多么简单:
来源:ABCpdf documentation - Sign method
相关问题 更多 >
编程相关推荐