如何使用 GroupDocs.Signature for .NET 實作帶有時間戳記和認證的 .NET 數位簽名
介紹
您是否希望使用 .NET 中的數位簽章來增強 PDF 文件的安全性? GroupDocs.Signature for .NET 可以更輕鬆地確保文件的真實性、完整性和不可否認性。無論您是需要新增來自受信任的第三方網站的時間戳,還是需要認證文件是否符合法律規定,這個強大的函式庫都能簡化流程。
在本教程中,我們將指導您使用 GroupDocs.Signature for .NET 對 PDF 文件進行數位簽名,並在簽名中添加時間戳記。我們還將介紹如何使用數位簽章對這些文件進行認證。學習本指南後,您將全面了解如何在應用程式中實現這些功能。
您將學到什麼:
- 為 .NET 設定 GroupDocs.Signature
- 使用時間戳實現數位簽名
- 以數位方式認證 PDF 文件
- 優化效能和最佳實踐
讓我們深入了解開始的先決條件!
先決條件
在開始之前,請確保您具備以下條件:
所需的庫和依賴項
- GroupDocs.Signature for .NET:此程式庫對於在您的應用程式中實作數位簽章至關重要。
- .NET Framework(4.7.2 或更高版本)或 .NET Core 3.0+
環境設定要求
- 類似 Visual Studio 的開發環境,您可以在其中建立和執行 C# 專案。
知識前提
- 對 C# 程式設計有基本的了解。
- 熟悉處理 .NET 應用程式中的檔案路徑和 I/O 操作。
為 .NET 設定 GroupDocs.Signature
若要將 GroupDocs.Signature 整合到您的專案中,請按照以下步驟操作:
使用 .NET CLI:
dotnet add package GroupDocs.Signature
套件管理器控制台:
Install-Package GroupDocs.Signature
NuGet 套件管理器 UI: 在 NuGet 套件管理員中搜尋“GroupDocs.Signature”並安裝最新版本。
許可證獲取
- 免費試用: 從免費試用開始探索 GroupDocs.Signature 的功能。
- 臨時執照: 取得臨時許可證來無限制地評估功能。
- 購買: 購買完整許可證以供長期使用。
設定好環境後,初始化並配置庫以開始簽署文件。
實施指南
我們將介紹兩個主要功能:為數位簽章新增時間戳記以及認證 PDF 文件。每個部分都會透過程式碼片段和說明逐步指導您。
帶有時間戳記的數位簽名
此功能可讓您以數位方式簽署 PDF,同時使用受信任的第三方時間戳伺服器確保簽名的有效性。
步驟1:初始化簽名對象
首先,創建一個 Signature
透過提供文件的路徑來新增類別:
string filePath = "@YOUR_DOCUMENT_DIRECTORY/sample.pdf";
using (Signature signature = new Signature(filePath))
{
// 進一步的步驟將在此處添加
}
步驟2:配置PdfDigitalSignature
創建並設定 PdfDigitalSignature
物件包含必要的詳細信息,例如聯絡資訊、位置和簽名原因:
PdfDigitalSignature pdfDigitalSignature = new PdfDigitalSignature()
{
ContactInfo = "Contact",
Location = "Location",
Reason = "Reason"
};
步驟 3:設定時間戳詳細信息
透過指定第三方伺服器的 URL 來配置時間戳,在本例中, freetsa.org
:
pdfDigitalTimestamp = new TimeStamp("https://freetsa.org/tsr”, “”, “”);
pdfDigitalSignature.TimeStamp = pdfDigitalTimestamp;
步驟 4:設定數位簽章選項
透過指定數位憑證路徑和密碼以及簽章對齊首選項來設定簽章選項:
digitalSignOptions = new DigitalSignOptions(certificatePath)
{
Password = "1234567890",
Signature = pdfDigitalSignature,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right
};
第五步:簽署文件並取得結果
執行簽名流程,將簽名後的文件儲存到指定路徑,並列印結果:
SignResult signResult = signature.Sign(outputFilePathSigned, digitalSignOptions);
Console.WriteLine($"
Source document signed successfully with {signResult.Succeeded.Count} signature(s).
File saved at {outputFilePathSigned}.
");
數位簽章認證
認證 PDF 文件可確保其符合一定的真實性和安全性標準。此流程對於法律和合規性至關重要。
步驟1:初始化簽名對象
與時間戳功能類似,先初始化 Signature
班級:
string filePath = "@YOUR_DOCUMENT_DIRECTORY/sample.pdf";
using (Signature signature = new Signature(filePath))
{
// 進一步的步驟將在此處添加
}
步驟2:配置PdfDigitalSignature進行認證
創建一個 PdfDigitalSignature
對象,指定詳細資訊並將類型設定為證書:
PdfDigitalSignature pdfDigitalSignature = new PdfDigitalSignature()
{
ContactInfo = "Contact",
Location = "Location",
Reason = "Reason"
};
pdfDigitalSignature.Type = PdfDigitalSignatureType.Certificate;
步驟 3:設定數位簽章選項
設定簽名選項,類似於新增時間戳記:
digitalSignOptions = new DigitalSignOptions(certificatePath)
{
Password = "1234567890",
Signature = pdfDigitalSignature,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right
};
步驟4:簽署文件並取得結果
執行認證流程,儲存認證文檔,並列印結果:
SignResult signResult = signature.Sign(outputFilePathCertified, digitalSignOptions);
Console.WriteLine($"
Source document signed successfully with {signResult.Succeeded.Count} signature(s).
File saved at {outputFilePathCertified}.
");
實際應用
- 法律文件: 確保合約和協議長期保持完整性。
- 財務報告: 證明財務報表的準確性和合規性。
- 教育證書: 驗證結業證書或獎勵證書。
- 電子商務交易: 確保採購訂單和收據的安全。
- 政府表格: 驗證提交給公共機構的表格。
性能考慮
為了優化使用 GroupDocs.Signature 時的效能:
- 資源使用: 監控記憶體使用情況,尤其是在處理大型文件時。
- 批次: 如果簽署多個文件,請考慮批次以提高效率。
- 非同步操作: 使用非同步方法避免阻塞操作並提高應用程式的回應能力。
結論
透過本指南,您學習如何使用 GroupDocs.Signature for .NET 對 PDF 文件進行數位簽章並新增時間戳,以及如何對其進行認證。掌握這些技能後,您可以增強數位內容的安全性和真實性,確保跨領域的合規性。
下一步包括探索 GroupDocs.Signature 提供的其他功能,或將其整合到您應用程式中更大規模的工作流程中。歡迎您隨時嘗試不同的選項和配置。
常見問題部分
什麼是數位簽章?
- 數位簽章可確保文件的真實性和完整性,就像數位領域的手寫簽名一樣。
如何獲得簽署文件的證書?
- 您可以從受信任的憑證授權單位 (CA) 購買證書,或將自簽名憑證用於內部用途。
GroupDocs.Signature 是否與所有 .NET 版本相容?
- 是的,它支援先決條件中指定的 .NET Framework 和 .NET Core。