LEADTOOLS使用教程:使用LEADTOOLS从PDF检索数字签名信息
LEADTOOLS是一个综合性工具包系列,旨在帮助程序员将光栅、文档、医学、多媒体和矢量图像集成到其台式机、服务器、平板电脑和移动应用程序中。本文主要介绍使用LEADTOOLS从PDF中检索数字签名信息。
LEADTOOLS PDF Pro 具备浏览光栅图与编辑PDF文件所需的所有功能。该产品同时也包含了许多高级功能,例如提取文本、图片、超链接、元数据以及当前PDF文档的操作页面,将PDF/A转换为一个真正的文档,线性化,LEADTOOLS PDF优化器还能够减少PDF文件占用的空间。
数字签名是电子签名中最先进和最安全的类型之一。这些签名提供最高级别的保证,并用于遵守法律和法规要求。数字签名使用基于证书的数字ID来验证签名者的身份,并使用加密将每个签名绑定到文档。借助LEADTOOLS SDK,开发人员可以使用LEADTOOLS PDF库检索有关这些数字签名的信息。.NET和Java PDFSignature Class包含PDF数字签名的属性。
对于电子商务行业的人士或接收带有数字签名的合法PDF文档的任何人来说,这都是完美的选择。您可以检查这些签名的有效性,获取证书信息,获取页面上的位置等等。所有这些只需几行代码即可完成。
在开始之前,您必须下载LEAD的OpenSSL-Binaries。该zip文件包含由LEAD Technologies,Inc.编译和数字签名的最新OpenSSL 1.0.2和1.1.0库的32/64位版本。这些文件需要添加到项目的输出目录中。
编码
using (PDFDocument document = new PDFDocument(sourceFileName))
{
// Parse the signatures for all pages
PDFParsePagesOptions options = PDFParsePagesOptions.Signatures;
document.ParsePages(options, 1, -1);
foreach (PDFDocumentPage page in document.Pages)
{
// Check PDF for signatures
if (page.Signatures != null && page.Signatures.Count > 0)
{
// Gets the status of digital signature support in the LEADTOOLS PDF toolkit.
RasterExceptionCode status = PDFDocument.GetDigitalSignatureSupportStatus();
if (status == RasterExceptionCode.Success)
{
// Get info of PDF Signature
foreach (var pdfSignature in page.Signatures)
{
Console.WriteLine($"Bounds of signature: {pdfSignature.Bounds}");
Console.WriteLine($"Number of bits of the signature's public key: {pdfSignature.PublicKeyBits}");
Console.WriteLine($"Page number: {pdfSignature.PageNumber}");
Console.WriteLine($"Can signature be validated: {pdfSignature.CanValidate}");
Console.WriteLine($"Valid from: {pdfSignature.ValidFrom}");
Console.WriteLine($"Valid to: {pdfSignature.ValidTo}");
Console.WriteLine($"Signature version: {pdfSignature.Version}");
Console.WriteLine($"Certificate Info:");
foreach (var info in pdfSignature.CertificateInfo)
{
Console.WriteLine($"\t{info}");
}
Console.WriteLine();
}
}
}
}
}
本文内容就是这样了,希望对您有所帮助!想要了解更多LEADTOOLS系列产品信息,请点击这里!
相关内容推荐:


QQ交谈
在线咨询

渝公网安备
50010702500608号

客服热线