介紹

大家好,科技愛好者們!您是否曾經需要驗證 Word 文件中的數位簽章並感到不知所措?不要害怕!今天,我們將開始體驗 Aspose.Words for .NET 的強大功能。在本指南結束時,您將能夠像專業人士一樣存取和驗證數位簽名。讓我們開始吧!

先決條件

在我們開始之前,請確保您已準備好以下內容:

  1. Visual Studio:確保它已安裝在您的機器上以進行編碼。
  2. Aspose.Words for .NET:從以下位置下載並安裝 這裡。如果您還沒有,請取得免費試用 這裡.
  3. 經過數位簽署的 Word 文件:手邊有一份帶有數位簽名的 Word 文件以供驗證。

導入命名空間

首先,我們需要匯入必要的命名空間以在您的專案中使用 Aspose.Words 功能。方法如下:

using System;
using Aspose.Words;
using Aspose.Words.DigitalSignatures;

現在我們已經了解了基礎知識,讓我們將流程分解為易於管理的步驟。

步驟 1:設定您的項目

讓我們在 Visual Studio 中建立一個新專案:

建立新專案

  1. 開啟 Visual Studio。
  2. 點擊建立新項目。
  3. 選擇控制台應用程式(.NET Core)或控制台應用程式(.NET Framework)。
  4. 按一下“下一步”,命名您的項目,然後按一下“建立”。

安裝 Aspose.Words for .NET

  1. 在解決方案資源管理器中,以滑鼠右鍵按一下專案名稱並選擇管理 NuGet 套件。
  2. 在 NuGet 套件管理器中搜尋 Aspose.Words。
  3. 點擊“安裝”將其添加到您的專案中。

第 2 步:載入數位簽章的 Word 文檔

設定好項目後,讓我們載入經過數位簽署的 Word 文件。

// 指定文檔目錄的路徑。
string dataDir = "YOUR_DOCUMENT_DIRECTORY/";
Document doc = new Document(dataDir + "DigitallySigned.docx");

別忘了更換 "YOUR_DOCUMENT_DIRECTORY" 使用您的文件的實際路徑。此程式碼片段初始化一個新的 Document 物件並載入您簽名的 Word 文件。

步驟 3:存取數位簽名

現在我們已經加載了文檔,是時候存取和驗證數位簽章了。

foreach (DigitalSignature signature in doc.DigitalSignatures)
{
    Console.WriteLine("* Signature Found *");
    Console.WriteLine("Is valid: " + signature.IsValid);
    Console.WriteLine("Reason for signing: " + signature.Comments); 
    Console.WriteLine("Time of signing: " + signature.SignTime);
    Console.WriteLine("Subject name: " + signature.CertificateHolder.Certificate.SubjectName.Name);
    Console.WriteLine("Issuer name: " + signature.CertificateHolder.Certificate.IssuerName.Name);
    Console.WriteLine();
}

此循環遍歷文件中的每個數位簽名並列印出關鍵細節:

  • 是否有效:表示簽名是否有效。
  • 簽名原因:顯示簽名的原因。
  • 簽署時間:顯示文件簽署的時間。
  • 主題名稱:從憑證中檢索主題。
  • 頒發者名稱:從憑證中檢索頒發者。

步驟 4:運行程式碼

現在,讓我們執行您的程式碼來查看結果。

  1. 按 F5 或點選 Visual Studio 中的「開始」按鈕。
  2. 如果您的文件經過數位簽名,簽名詳細資料將列印在控制台中。

步驟5:處理潛在錯誤

妥善處理任何潛在錯誤至關重要。以下是如何為程式碼新增基本錯誤處理的方法:

try
{
    // 指定文檔目錄的路徑。
    string dataDir = "YOUR_DOCUMENT_DIRECTORY/";
    Document doc = new Document(dataDir + "DigitallySigned.docx");

    foreach (DigitalSignature signature in doc.DigitalSignatures)
    {
        Console.WriteLine("* Signature Found *");
        Console.WriteLine("Is valid: " + signature.IsValid);
        Console.WriteLine("Reason for signing: " + signature.Comments); 
        Console.WriteLine("Time of signing: " + signature.SignTime);
        Console.WriteLine("Subject name: " + signature.CertificateHolder.Certificate.SubjectName.Name);
        Console.WriteLine("Issuer name: " + signature.CertificateHolder.Certificate.IssuerName.Name);
        Console.WriteLine();
    }
}
catch (Exception ex)
{
    Console.WriteLine("An error occurred: " + ex.Message);
}

此程式碼將捕獲任何異常並列印錯誤訊息,幫助您更有效地偵錯問題。

結論

恭喜!您已使用 Aspose.Words for .NET 成功驗證了 Word 文件中的數位簽章。這比看起來容易,對吧?透過這些步驟,您可以自信地管理 Word 文件中的數位簽名,確保其真實性和完整性。編碼愉快!

常見問題解答

我可以使用 Aspose.Words for .NET 在 Word 文件中新增數位簽章嗎?

絕對地! Aspose.Words for .NET 提供了新增和驗證數位簽章的全面功能。

Aspose.Words for .NET 可以驗證哪些類型的數位簽章?

Aspose.Words for .NET 可以驗證使用 X.509 憑證的 DOCX 檔案中的數位簽章。

Aspose.Words for .NET 是否與所有版本的 Microsoft Word 相容?

是的,它支援所有版本的 Microsoft Word 文檔,包括 DOC、DOCX、RTF 等。

如何取得 Aspose.Words for .NET 的臨時授權?

您可以從 這裡,讓您可以不受限制地探索該程式庫的全部功能。

在哪裡可以找到有關 Aspose.Words for .NET 的更多文件?

如需詳細文檔,請訪問 這裡.