PDF控件Spire.PDF for .NET【安全】演示:获取并验证 PDF 中的数字签名

在 PDF 中创建数字签名广泛用于保护 PDF 文件。因此,当您查看一些带有数字签名的PDF文件时,需要获取并验证数字签名。本文向您展示了一种通过使用Spire.PDF和 C# 代码来获取和验证 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 for .NET(版本 2.9 或更高版本)已正确安装。在下载的 Bin 文件夹中添加 Spire.PDF.dll 作为参考,路径如下:"..\Spire.PDF\Bin\NET4.0\ Spire.PDF.dl"。

下面是如何获取和验证数字签名的C#代码片段:

加载带有数字签名的 PDF 文件。

复制代码
string filename = @"..\..\DigitalSignature.pdf";

获取 PDF 中的所有签名:

C#

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

PdfDocument doc = new PdfDocument(filename);

PdfFormWidget form = (PdfFormWidget)doc.Form;
for (int i = 0; i < form.FieldsWidget.Count; ++i)
{
PdfSignatureFieldWidget field = form.FieldsWidget[i] as PdfSignatureFieldWidget;

if (field != null && field.Signature != null)
{
PdfSignature signature = field.Signature;
signatures.Add(signature);
}
}

获取第一个签名:

C#

复制代码
PdfSignature signatureOne = signatures[0];

验证签名:

C#

复制代码
try
{
bool bSignature = signatureOne.VerifySignature();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
}

获取签名日期:

C#

复制代码
DateTime date = signatureOne.Date;

获取签名开始和结束有效的日期:

C#

复制代码
DateTime validStart = certificate.NotBefore;
DateTime validEnd = certificate.NotAfter;

获取证书的版本:

C#

复制代码
int version = certificate.Version;

从证书中获取主题专有名称:

C#

复制代码
string subject = certificate.Subject;

请查看有效截图如下:

以上便是如何取并验证 PDF 中的数字签名,如果您有其他问题也可以继续浏览本系列文章,获取相关教程~

相关推荐
数据库小学妹2 小时前
AI Agent连数据库怎么控权限?只读账号的4个缺口
数据库·人工智能·安全·数据库权限·审计·ai数据库·只读账号
是真的小外套2 小时前
网络安全实战第12期:三步定位已知漏洞CVE+NSE+searchsploit
安全·web安全
自由彩虹2 小时前
靶场通关15--bossplayersctf
linux·服务器·网络·安全·web安全·网络安全
武雄(小星Ai)2 小时前
Cursor市场Claude Code扩展被植入SSH后门:一次供应链投毒的完整拆解与自查手册
安全·网络安全·供应链攻击
叼烟扛炮2 小时前
Linux 学习笔记(四十五):Web 安全基石——Cookie、Session 与 HTTPS 原理解析
linux·前端·网络·笔记·学习·tcp/ip·安全
~央千澈~2 小时前
优雅草新产品2026 年 10 月 31 日公测完毕v1.0.0 优雅草人机盾正式运营上线
安全·网络安全·安全防御
云月呀2 小时前
《死亡回忆录》藏汉双语版电子版 PDF,穆迪博士 150 例濒死体验访谈,一部关于生死的温柔读本
pdf·死亡回忆录
是真的小外套3 小时前
网络安全实战第10期:Nmap主机发现之一键扫清整个网段
网络·安全·web安全
垚垚学技术_聚焦云原生3 小时前
Ansible Vault 安全实践:敏感密码、密钥加密存储方案
安全·elasticsearch·ansible
鬼手点金3 小时前
提示注入:上下文安全的核心威胁
人工智能·安全·microsoft·机器学习·缓存·prompt