PDF控件Spire.PDF for .NET【安全】演示:获取 PDF 签名中的所有证书

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.PDF for.net下载 Spire.PDF for java下载

Spire.PDF允许获取和验证PDF文件中的特定签名,现在从3.8.82版本开始,Spire.PDF支持获取PDF签名中的所有证书。在本文中,我们将向您展示如何使用 Spire.PDF 完成此任务的步骤。

为了进行演示,我们使用了一个 PDF 模板文件,其中包含两个证书:

代码片段:

步骤 1:实例化 PdfDocument 对象并加载 PDF 文件。

复制代码
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("UPS.pdf");

步骤2:创建一个List对象。

复制代码
List<PdfSignature> signatures = new List<PdfSignature>();

步骤3:从PDF文件中获取所有签名并将它们添加到列表对象中。

复制代码
var form = (PdfFormWidget)doc.Form;
for (int i = 0; i < form.FieldsWidget.Count; ++i)
{
var field = form.FieldsWidget[i] as PdfSignatureFieldWidget;
if (field != null && field.Signature != null)
{
PdfSignature signature = field.Signature;
signatures.Add(signature);
}
}

步骤4:从列表中获取第一个签名,然后从该签名中获取所有证书。

复制代码
PdfSignature signatureOne = signatures[0];
X509Certificate2Collection collection = signatureOne.Certificates;

有效截图

完整代码

复制代码
using System;
using System.Collections.Generic;
using System.Security.Cryptography.X509Certificates;
using Spire.Pdf;
using Spire.Pdf.Security;
using Spire.Pdf.Widget;

namespace Get_all_certificates_in_PDF_signature
{
class Program
{
static void Main(string[] args)
{
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("UPS.pdf");
List<PdfSignature> signatures = new List<PdfSignature>();
var form = (PdfFormWidget)doc.Form;
for (int i = 0; i < form.FieldsWidget.Count; ++i)
{
var field = form.FieldsWidget[i] as PdfSignatureFieldWidget;

if (field != null && field.Signature != null)
{
PdfSignature signature = field.Signature;
signatures.Add(signature);
}
}
PdfSignature signatureOne = signatures[0];
X509Certificate2Collection collection = signatureOne.Certificates;
foreach (var certificate in collection)
{
Console.WriteLine(certificate.Subject);
}
Console.ReadKey();
}
}
}

以上便是如测 PDF 文档是否受密码保护,如果您有其他问题也可以继续浏览本系列文章,获取相关教程~

相关推荐
.5481 小时前
提取双栏pdf的文字时 输出文件顺序混乱
前端·pdf
newxtc2 小时前
【魔珐有言-注册/登录安全分析报告-无验证方式导致安全隐患】
人工智能·安全·网易易盾·ai写作·极验
速盾cdn2 小时前
速盾:如何有效防止服务器遭受攻击?
网络·安全·web安全
始终奔跑在路上3 小时前
安全见闻2
安全·网络安全
华奥系科技4 小时前
智慧安防丨以科技之力,筑起防范人贩的铜墙铁壁
人工智能·科技·安全·生活
EasyNVR4 小时前
NVR录像机汇聚管理EasyNVR多品牌NVR管理工具视频汇聚技术在智慧安防监控中的应用与优势
安全·音视频·监控·视频监控
ai产品老杨5 小时前
部署神经网络时计算图的优化方法
人工智能·深度学习·神经网络·安全·机器学习·开源
云起无垠6 小时前
第74期 | GPTSecurity周报
人工智能·安全·网络安全
zhentiya6 小时前
微积分第五版课后习题答案详解PDF电子版 赵树嫄
算法·pdf
网安-轩逸6 小时前
【网络安全】身份认证
网络·安全·web安全