數字簽名是用於驗證數字文檔的真實性和完整性的電子簽名。當您以數字方式簽署文檔時,簽名將作為文檔來自您的確認,並且自您簽署後未被更改。
在本文中,您將了解如何使用 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 演示文稿中:
- 通過Presentation類加載要添加數字簽名的PowerPoint。
- 使用 DigitalSignature 類,創建數字簽名對象。將數字簽名 PFX 文件和密碼傳遞給它。
- 將數字簽名添加到 PowerPoint 演示文稿。
- 保存修改後的演示文稿。
此 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 演示文稿:
- 通過Presentation類加載要驗證的數字簽名PPT。
- 檢查 PowerPoint 是否已簽名。
- 檢查簽名(用於簽署演示文稿)是否有效。
此 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 /).如果您有任何問題,可以在我們的論壇 上發帖。