DigitalSignature
内容
[
隐藏
]DigitalSignature class
签名文件中的数字签名。
public class DigitalSignature : IDigitalSignature
Constructors
Name | Description |
---|---|
DigitalSignature(X509Certificate2) | 使用指定的证书创建一个新的 DigitalSignature 对象。 |
DigitalSignature(string, string) | 使用指定的证书文件路径和密码创建一个新的 DigitalSignature 对象。 |
Properties
Name | Description |
---|---|
Certificate { get; } | 用于签署文档的证书对象。只读 X509Certificate2。 |
Comments { get; set; } | 签名的目的。可读写字符串。 |
IsValid { get; } | 如果该数字签名有效且文档未被篡改,则此值为 true。只读布尔值。 |
SignTime { get; } | 文档签署的时间。只读 DateTime。 |
Examples
以下示例演示如何从 PFX 证书在 PowerPoint 演示文稿中添加数字签名。
[C#]
// 初始化演示实例
using (Presentation pres = new Presentation())
{
// 使用 PFX 文件和 PFX 密码创建 DigitalSignature 对象
DigitalSignature signature = new DigitalSignature("testsignature1.pfx", @"testpass1");
// 注释新的数字签名
signature.Comments = "Aspose.Slides 数字签名测试。";
// 将数字签名添加到演示文稿
pres.DigitalSignatures.Add(signature);
// 保存演示文稿
pres.Save("SomePresentationSigned.pptx", SaveFormat.Pptx);
}
以下示例代码演示如何验证 PowerPoint 演示文稿的数字签名。
[C#]
// 初始化演示实例
using (Presentation pres = new Presentation("SomePresentationSigned.pptx"))
{
if (pres.DigitalSignatures.Count < 0)
{
bool allSignaturesAreValid = true;
Console.WriteLine("用于签署演示文稿的签名: ");
// 检查所有数字签名是否有效
foreach (DigitalSignature signature in pres.DigitalSignatures)
{
Console.WriteLine(signature.Certificate.SubjectName.Name + ", "
+ signature.SignTime.ToString("yyyy-MM-dd HH:mm") + " -- " + (signature.IsValid ? "有效" : "无效"));
allSignaturesAreValid &= signature.IsValid;
}
if (allSignaturesAreValid)
Console.WriteLine("演示文稿是真实的,所有签名都是有效的。");
else
Console.WriteLine("演示文稿自签署以来已被修改。");
}
}
See Also
- interface IDigitalSignature
- namespace Aspose.Slides
- assembly Aspose.Slides