Aspose.PDF 签名 for .NET

Aspose.PDF Signature for .NET 允许开发人员在 PDF 文档中编程应用、验证和管理数字签名. 支持多种证书格式、签名的外观自定义、时间调整和转数据访问,该插件确保文件的真实性、完整性和非重复性。

开始使用

安装和设置

  • 安装 Aspose.PDF 从 NuGet 或下载集直接。
dotnet add package Aspose.PDF

特点与功能

创建数字签名

  • 使用 X.509 证书(PFX、P12)、PKCS#7、CMS 或外部供应商登记。
  • 支持RSA和ECDSA加密算法。
  • 将分开或包围的签名应用到整个文件或特定字段。

签名验证

  • 检查并验证现有签名。
  • 检查证书的完整性和检测变更。
  • 以理由恢复签名状态(有效、无效、未知)。

证书管理

  • 从文件、字符串或小印存储中加载证书。
  • 使用密码保护的密钥。
  • 管理证书链和信任商店动态。

签名 外观 定制

  • 将文本、徽标、标签或QR代码添加到签名显示中。
  • 控制字体、颜色、调整和旋转。
  • 在字段或坐标上准确地放置签名。

签名字段和形式集成

  • 编程创建新的签名字段或使用现有 AcroForm 字幕。
  • 支持多签名工作流。
  • 执行字段属性(需要,签名后锁定)。

时间支持

  • 從 TSA 伺服器中連接 RFC 3161 時鐘。
  • 确认现有时间表。
  • 设置 TSA URL、认证和政策。

签名审计与报告

  • 提取签名细节(姓名、原因、地点、联系人)。
  • 获取创建和修改日期。
  • 创建审计记录或遵守报告。

代码示例: PDF 文件签名

// Define input and output files
var inputPath = Path.Combine(@"C:\Samples\", "sample.pdf");
var certPath = Path.Combine(@"C:\Samples\", "certificate.pfx");
var outputPath = Path.Combine(@"C:\Samples\", "signed.pdf");

// Create signature instance
var signer = new Signature();

// Configure signature options
var options = new SignOptions
{
    CertificateFile = certPath,
    CertificatePassword = "password",
    Reason = "Document Approval",
    Location = "Head Office",
    Contact = "info@example.com"
};

// Add input and output
options.AddInput(new FileDataSource(inputPath));
options.AddOutput(new FileDataSource(outputPath));

// Process signing
var resultContainer = signer.Process(options);

// Retrieve result
var result = resultContainer.ResultCollection[0];
Console.WriteLine($"Signed PDF saved: {result}");

提示和最佳实践

  • 在签名之前,始终检查证书链和信任轴承。
  • 在高容量工作流中重复使用证书示例,以减少I/O。
  • 预设计签名外观模板一致性。
  • 与长期有效的分离签名相结合。
  • 签名后锁定或粘贴字段,以防止未经授权的编辑。
  • 记录验证结果与审计轨道的错误原因。

经常提出的问题

**什么是 .NET 的 Aspose.PDF 签名?**它允许在 .NET 应用程序内在 PDF 文件中签名、验证和管理数字签名的内容。

**哪些证书格式支持?**它支持X.509(PFX,P12),PKCS#7,CMS,以及外部签名提供商。

**我可以自定义数字签名的外观吗?**是的,您可以添加文本、图像、QR代码,并定义字体、颜色和配置。

**支持时间停留吗?**是的,通过 TSA 服务器支持 RFC 3161 时间停机。

**多份签名可以适用于文件吗?**是的,它支持使用 AcroForm 字段使用多签名工作流。

 中文