數字簽名是用於驗證數字文檔的真實性和完整性的電子簽名。當您以數字方式簽署文檔時,簽名將作為文檔來自您的確認,並且自您簽署後未被更改。

在本文中,您將了解如何使用 C# 向 PowerPoint 添加數字簽名。

使用 PowerPoint 庫對 PowerPoint 進行數字簽名

Microsoft PowerPoint 應用程序提供的功能允許用戶將數字簽名添加到他們的 PPT 和 PPTX 演示文稿中。

但是,要在 C# 中向 PowerPoint PPT 或 PPTX 添加數字簽名,您必須使用 Aspose.Slides for .NET。後者是一個 PowerPoint 庫,允許您使用簡單的代碼行創建、修改和操作演示文稿。有關安裝 Aspose.Slides for .NET 的信息,請參閱此 安裝 指南。

獲取簽名證書

此外,要將數字簽名附加到 PowerPoint 文檔,您需要簽名或數字證書。這樣的證書標識並證明您的身份。您可以創建自己的證書,也可以從證書頒發機構(頒發證書)處獲得一個。

當您將經過數字簽名的 PowerPoint 演示文稿發送給某人時,您實際上是在向該人發送您的證書和公鑰。

在 C# 中向 PowerPoint 添加數字簽名

假設您已準備好使用數字證書,您可以通過以下步驟將數字簽名添加到您的 PowerPoint 演示文稿中:

  1. 通過Presentation類加載要添加數字簽名的PowerPoint。
  2. 使用 DigitalSignature 類,創建數字簽名對象。將數字簽名 PFX 文件和密碼傳遞給它。
  3. 將數字簽名添加到 PowerPoint 演示文稿。
  4. 保存修改後的演示文稿。

此 C# 代碼向您展示如何向 PowerPoint 添加數字簽名:

using (Presentation pres = new Presentation())
{
    // Creates a DigitalSignature object with the PFX file and PFX password 
    DigitalSignature signature = new DigitalSignature("testsignature1.pfx", @"testpass1");

    // Comments new digital signature
    signature.Comments = "Aspose.Slides digital signing test.";

    // Adds digital signature to the presentation
    pres.DigitalSignatures.Add(signature);

    // Saves the modified presentation
    pres.Save("SomeSignedPresentation.pptx", SaveFormat.Pptx);
}

在 C# 中驗證數字簽名的 PPT

除了向 PowerPoint PPT 添加數字簽名外,Aspose.Slides for .NET 還允許您驗證數字簽名的演示文稿。驗證操作實質上是檢查演示文稿自簽名後是否已被修改。

完成以下步驟以驗證經過數字簽名的 PowerPoint 演示文稿:

  1. 通過Presentation類加載要驗證的數字簽名PPT。
  2. 檢查 PowerPoint 是否已簽名。
  3. 檢查簽名(用於簽署演示文稿)是否有效。

此 C# 代碼向您展示瞭如何驗證經過數字簽名的 PowerPoint:

// Loads the presentation
using (Presentation pres = new Presentation("SomeSignedPresentation.pptx"))
{
    if (pres.DigitalSignatures.Count > 0)
    {
        bool allSignaturesAreValid = true;

        Console.WriteLine("Signatures used to sign the presentation: ");

        // Checks whether all the digital signatures are valid
        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.");
    }
}

獲得免費許可證

想不受限制地測試 Aspose.Slides 的功能嗎?獲取免費臨時許可證

結論

在本文中,我們向您展示瞭如何使用功能強大的 .NET 庫在 C# 中向 PowerPoint 演示文稿添加數字簽名。您可能有興趣學習 如何使用密碼保護 PowerPoint 演示文稿

要了解有關 Aspose.Slides 功能 的更多信息,請參閱我們的[文檔](https://docs.aspose.com/slides/net /).如果您有任何問題,可以在我們的論壇 上發帖。

也可以看看