保护数字信息一直是网络世界的一个重要方面。为了保护数字内容免受未经授权的用户的侵害,已经设计了各种方式和技术。据此,这篇博文明确针对 MS PowerPoint 文件的安全性,并为您提供了保护 PPTX 文档的不同方法。在这篇文章中,您将学习如何使用 C# 使用密码或数字签名来保护 PowerPoint PPTX 文件。
C# API 保护 PowerPoint PPT - 免费下载
Aspose.Slides for .NET 是一个 PowerPoint 文件管理 API,可让您在 .NET 应用程序中创建、编辑和处理 PPT 和 PPTX 文件。此外,API 允许您使用密码和数字签名来保护 PowerPoint 演示文稿。您可以 下载 API 或使用 NuGet 将其安装在您的 .NET 应用程序中。
PM> Install-Package Aspose.Slides.NET
C# 中的密码保护 PowerPoint PPTX
以下是使用密码保护 PowerPoint PPTX 演示文稿的步骤。
- 使用 Presentation 类加载 PPTX 演示文稿。
- 使用 Presentation.ProtectionManager.Encrypt(String) 方法加密演示文稿。
- 使用 Presentation.Save(String, SaveFormat) 方法保存演示文稿。
以下代码示例显示了如何使用 C# 使用密码保护 PPTX。
// 实例化一个表示演示文件的 Presentation 对象
using (Presentation pres = new Presentation("presentation.pptx"))
{
// 用密码保护
pres.ProtectionManager.Encrypt("password");
// 保存演示文稿
pres.Save("protected-presentation.pptx", Export.SaveFormat.Pptx);
}
在 C# 中为 PPT 添加数字签名
数字签名是一种借助证书保护数字信息的流行方式。 MS PowerPoint 演示文稿还支持数字签名以保护内容。以下是使用 C# 对 PPTX 文件进行数字签名的步骤。
- 使用 Presentation 类加载 PPTX 演示文稿。
- 创建一个 DigitalSignature 类的对象,并使用证书文件的路径和密码对其进行初始化。
- 使用 DigitalSignature.Comments 属性添加评论。
- 使用 Presentation.DigitalSignatures.Add(DigitalSignature) 方法签署演示文稿。
- 使用 Presentation.Save(String, SaveFormat) 方法保存演示文稿。
以下代码示例展示了如何使用 C# 在 PowerPoint PPT 中添加数字签名。
// 实例化一个表示演示文件的 Presentation 对象
using (Presentation pres = new Presentation("presentation.pptx"))
{
// 使用 PFX 文件和 PFX 密码创建 DigitalSignature 对象
DigitalSignature signature = new DigitalSignature("testsignature1.pfx", @"testpass1");
// 评论新的数字签名
signature.Comments = "Aspose.Slides digital signing test.";
// 向演示文稿添加数字签名
pres.DigitalSignatures.Add(signature);
// 保存演示文稿
pres.Save("signed-presentation.pptx", Export.SaveFormat.Pptx);
}
使用 C# 验证数字签名的 PowerPoint 文件
Aspose.Slides for .NET 还允许您验证演示文稿是否经过数字签名。此外,您可以检查文档是否被篡改或修改。以下是执行验证的步骤。
- 使用 Presentation 类加载 PowerPoint 演示文稿。
- 使用 Presentation.DigitalSignatures.Count 属性检查演示文稿是否包含数字签名。
- 遍历 Presentation.DigitalSignatures 集合以访问每个数字签名。
- 使用 DigitalSignature.IsValid 属性检查每个数字签名的有效性。
以下代码示例演示如何使用 C# 验证 PowerPoint 演示文稿中的数字签名。
// 实例化一个表示演示文件的 Presentation 对象
using (Presentation pres = new Presentation("presentation.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.");
}
}
在 PPT 中添加数字签名的 C# API - 获得免费许可证
您可以通过请求 临时许可证 来使用 Aspose.Slides for .NET,而不受评估限制。
结论
在本文中,您学习了如何使用不同的方法保护 PowerPoint 文件。此外,分步指南和代码示例还展示了如何使用 C# 中的密码或数字签名来保护 PPTX 文件。您可以使用 documentation 探索更多关于 Aspose.Slides 为 .NET 提供的安全功能。