保護數字信息一直是網絡世界的一個重要方面。已經設計出各種方式和技術來保護數字內容免受未授權用戶的侵害。據此,這篇博文明確針對 MS PowerPoint 文件的安全性,並為您提供了保護 PPTX 文檔的不同方法。在本文中,您將了解如何使用 C# 使用密碼或數字簽名保護 PowerPoint PPTX 文件。

用於保護 PowerPoint PPT 的 C# API - 免費下載

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 文件。您可以使用 文檔 探索更多關於 Aspose.Slides for .NET 提供的安全特性。

也可以看看