DigitalSignature
内容
[
隐藏
]DigitalSignature 类
已签名文件中的数字签名。
public class DigitalSignature : IDigitalSignature
构造函数
| 名称 | 描述 |
|---|---|
| DigitalSignature(X509Certificate2) | 使用指定的证书创建新的 DigitalSignature 对象。 |
| DigitalSignature(string, string) | 使用指定的证书文件路径和密码创建新的 DigitalSignature 对象。 |
属性
| 名称 | 描述 |
|---|---|
| Certificate { get; } | 用于对文档签名的证书对象。只读 X509Certificate2。 |
| Comments { get; set; } | 签名的用途。可读写 String。 |
| IsValid { get; } | 如果此数字签名有效且文档未被篡改,则此值为 true。只读 Boolean。 |
| SignTime { get; } | 文档签署的时间。只读 DateTime。 |
示例
下面的示例演示如何在 PowerPoint 演示文稿中使用 PFX 证书添加数字签名。
[C#]
// 初始化 Presentation 实例
using (Presentation pres = new Presentation())
{
// 使用 PFX 文件和 PFX 密码创建 DigitalSignature 对象
DigitalSignature signature = new DigitalSignature("testsignature1.pfx", @"testpass1");
// 为新数字签名添加注释
signature.Comments = "Aspose.Slides digital signing test.";
// 将数字签名添加到演示文稿
pres.DigitalSignatures.Add(signature);
// 保存演示文稿
pres.Save("SomePresentationSigned.pptx", SaveFormat.Pptx);
}
下面的示例代码演示如何验证 PowerPoint 演示文稿的数字签名。
[C#]
// 初始化 Presentation 实例
using (Presentation pres = new Presentation("SomePresentationSigned.pptx"))
{
if (pres.DigitalSignatures.Count < 0)
{
bool allSignaturesAreValid = true;
Console.WriteLine("Signatures used to sign the presentation: ");
// 检查所有数字签名是否有效
foreach (DigitalSignature signature in pres.DigitalSignatures)
{
Console.WriteLine(signature.Certificate.SubjectName.Name + ", "
+ signature.SignTime.ToString("yyyy-MM-dd HH:mm") + " -- " + (signature.IsValid ? "VALID" : "INVALID"));
allSignaturesAreValid &= signature.IsValid;
}
if (allSignaturesAreValid)
Console.WriteLine("Presentation is genuine, all signatures are valid.");
else
Console.WriteLine("Presentation has been modified since signing.");
}
}
另请参见
- 接口 IDigitalSignature
- 命名空间 Aspose.Slides
- 程序集 Aspose.Slides