保护数字信息一直是网络世界的一个重要方面。为了保护数字内容免受未经授权的用户的侵害,已经设计了各种方式和技术。据此,这篇博文明确针对 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 演示文稿的步骤。

以下代码示例显示了如何使用 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 文件进行数字签名的步骤。

以下代码示例展示了如何使用 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 还允许您验证演示文稿是否经过数字签名。此外,您可以检查文档是否被篡改或修改。以下是执行验证的步骤。

以下代码示例演示如何使用 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 提供的安全功能。

也可以看看