PdfDigitalSignatureDetails

PdfDigitalSignatureDetails class

包含使用数字签名签署 PDF 文档的详细信息。

public class PdfDigitalSignatureDetails

构造函数

姓名 描述
PdfDigitalSignatureDetails() 初始化此类的一个实例。
PdfDigitalSignatureDetails(CertificateHolder, string, string, DateTime) 初始化此类的一个实例。

特性

姓名 描述
CertificateHolder { get; set; } 返回包含用于签署文档的证书的证书持有者对象。
HashAlgorithm { get; set; } 获取或设置哈希算法。
Location { get; set; } 获取或设置签名的位置。
Reason { get; set; } 获取或设置签名的原因。
SignatureDate { get; set; } 获取或设置签名日期。
TimestampSettings { get; set; } 获取或设置数字签名时间戳设置。

评论

目前,数字签名 PDF 文档仅适用于 .NET 2.0 或更高版本。

要在 Aspose.Words 创建 PDF 文档时对其进行数字签名,请设置DigitalSignatureDetails 属性为有效PdfDigitalSignatureDetails对象,然后将文档保存为 PDF 格式并传递 PdfSaveOptions作为参数进入Save方法。

Aspose.Words 在整个 PDF 文档上创建一个 PKCS#7 签名,并在创建数字签名时使用“Adobe.PPKMS”过滤器和 “adbe.pkcs7.sha1”子过滤器。

例子

显示如何签署生成的 PDF 文档。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("Contents of signed PDF.");

CertificateHolder certificateHolder = CertificateHolder.Create(MyDir + "morzal.pfx", "aw");

// 创建一个“PdfSaveOptions”对象,我们可以将它传递给文档的“Save”方法
// 修改该方法如何将文档转换为 .PDF。
PdfSaveOptions options = new PdfSaveOptions();

// 将“SaveOptions”对象的“DigitalSignatureDetails”对象配置为
// 在我们使用“Save”方法渲染文档时对文档进行数字签名。
DateTime signingTime = DateTime.Now;
options.DigitalSignatureDetails =
    new PdfDigitalSignatureDetails(certificateHolder, "Test Signing", "My Office", signingTime);
options.DigitalSignatureDetails.HashAlgorithm = PdfDigitalSignatureHashAlgorithm.Sha256;

Assert.AreEqual("Test Signing", options.DigitalSignatureDetails.Reason);
Assert.AreEqual("My Office", options.DigitalSignatureDetails.Location);
Assert.AreEqual(signingTime.ToUniversalTime(), options.DigitalSignatureDetails.SignatureDate.ToUniversalTime());

doc.Save(ArtifactsDir + "PdfSaveOptions.PdfDigitalSignature.pdf", options);

也可以看看