跳過到頁腳內容
使用 IRONPDF FOR PYTHON

如何在 Python 中添加數字簽名

數位簽名是網路安全的重要方面,確保數位訊息和文件的真實性和完整性。 Python具有豐富的程式庫生態系統,提供一個方便的平台來實現這類簽名,無論是否使用金鑰,使用def verify進行。 本指南將引導您使用IronPDF和加密程式庫以私鑰或公鑰創建和確認數位簽名。

數位簽名介紹

在探討程式碼之前,讓我們了解什麼是數位簽名。 就像其實體對應物一樣,數位簽名用於驗證數位文件的真實性。 它提供了一個安全且防篡改的密封,確保不可否認性,這意味著簽署者不能否認其在文件上的簽名真實性。

數位簽名的工作原理

數位簽名使用了私鑰和公鑰的組合。 私鑰用於創建簽名,應由簽署者保密。 公鑰則與任何人共享,用於驗證對應的私鑰所製作的簽名。 這基於公鑰加密,通常使用像RSA這樣的演算法實現。

IronPDF介紹

如何在Python中添加數位簽名,圖1:IronPDF IronPDF

IronPDF是一個用於Python中處理PDF的多功能程式庫。 它提供了廣泛的功能,包括PDF的創建、編輯和渲染,以及在PDF文件中嵌入數位簽名或訊息的能力。 由於其易於使用和強大的功能,該程式庫在尋找將PDF功能整合到其Python應用程式中的開發者中脫穎而出。

IronPDF的能力超越了基本的PDF操作,提供了進階功能,比如將HTML轉換為PDF,支援CSS和JavaScript,以及重要的是,能夠使用像RSA的公鑰加密將安全的數位簽名添加到PDF文件上。 這在文檔的真實性至關重要的場景中特別有用,例如法律、金融和官方文件處理過程中。

準備工作

在Python中實現數位簽名之前,您必須完成多項準備工作和設置步驟。 這些步驟確保您具有有效處理數位簽名所需的環境、工具和理解。 以下是開始所需的詳細說明:

1. 安裝Python

第一步是在您的機器上安裝Python。Python是一種多功能的程式語言,您將用來編寫您的數位簽名腳本。如果您尚未安裝,可以從官方Python網站下載。 確保您下載的版本與您的操作系統(Windows、macOS或Linux)兼容。

2. 代碼編輯器

一個好的程式碼編輯器將使編寫和測試您的Python腳本變得更容易。 選擇您感到舒適的支援Python語法的編輯器,最好具有整合的終端支持,以便於測試和調試功能。

3. 設置Python開發環境

擁有一個好的開發環境可以使在Python世界中的編碼更為輕鬆。 您可以使用像Visual Studio Code或Sublime Text這樣的文字編輯器,或者使用像PyCharm或Jupyter Notebook這樣的整合開發環境(IDE)。 這些工具提供了語法高亮、程式碼補全和調試等功能,這對編寫和測試程式碼極為重要。

4. 安裝必要的程式庫

您將需要在Python中使用數位簽名的特定程式庫,主要是IronPDF。 IronPDF用於處理PDF文件。 您可以使用Python的套件管理器pip來安裝此程式庫。 打開您的指令行或終端並運行以下命令:

 pip install ironpdf

5. 生成加密金鑰

您將需要一對加密金鑰(私鑰和公鑰)來創建和驗證數位簽名。 這些可以使用OpenSSL或Adobe Acrobat Reader等工具生成,來創建.pfx或.p12證書。 確保您將這些金鑰安全存儲,因為它們對您的數位簽名的完整性和安全性至關重要。

生成金鑰

在簽署文件之前,您需要一對加密金鑰。 您可以使用Adobe Acrobat Reader或其他證書管理工具生成.pfx或.p12證書。

用IronPDF簽署文件

簡單的數位簽名

用IronPDF簽署PDF可以和以下內容一樣簡單:

from ironpdf import PdfSignature

# Cryptographically sign an existing PDF in 1 line of code!
PdfSignature(r"./certificates/IronSoftware.p12", "123456").SignPdfFile("any.pdf")
from ironpdf import PdfSignature

# Cryptographically sign an existing PDF in 1 line of code!
PdfSignature(r"./certificates/IronSoftware.p12", "123456").SignPdfFile("any.pdf")
PYTHON

在上述程式碼中,.p12證書路徑和對應的密碼。 然後調用此函數來簽署指定的PDF文件。

高級數位簽名

對於更受控制的方法,您可以分階段簽署文件:

步驟1:創建PDF

首先,使用ChromePdfRenderer類從HTML內容創建一個PDF文件:

from ironpdf import ChromePdfRenderer

# Create a PDF document from HTML content
renderer = ChromePdfRenderer()
doc = renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>")
from ironpdf import ChromePdfRenderer

# Create a PDF document from HTML content
renderer = ChromePdfRenderer()
doc = renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>")
PYTHON

步驟2:創建簽名物件

接下來,使用您的證書創建一個簽名物件:

from ironpdf import PdfSignature

# Initialize the signature object with your .pfx certificate and password
signature = PdfSignature(r"./certificates/IronSoftware.pfx", "123456")
from ironpdf import PdfSignature

# Initialize the signature object with your .pfx certificate and password
signature = PdfSignature(r"./certificates/IronSoftware.pfx", "123456")
PYTHON

步驟3:可選的簽名選項

您可以設置其他選項,例如聯絡資訊、位置和簽名原因:

# Set additional signing options
signature.SigningContact = "support@ironsoftware.com"
signature.SigningLocation = "Chicago, USA"
signature.SigningReason = "To show how to sign a PDF"
# Set additional signing options
signature.SigningContact = "support@ironsoftware.com"
signature.SigningLocation = "Chicago, USA"
signature.SigningReason = "To show how to sign a PDF"
PYTHON

步驟4:簽署PDF

現在,使用簽名物件簽署PDF:

# Sign the PDF document with the signature
doc.Sign(signature)
# Sign the PDF document with the signature
doc.Sign(signature)
PYTHON

步驟5:保存已簽署的PDF

文件在保存之前不會簽署:

# Save the signed PDF document
doc.SaveAs("signed.pdf")
# Save the signed PDF document
doc.SaveAs("signed.pdf")
PYTHON

如何在Python中添加數位簽名,圖2:已簽署PDF輸出 已簽署PDF輸出

驗證流程

重要性

驗證確保文件的完整性未被破壞,並且簽名有效。 這涉及到使用簽署者的公鑰解密文件的雜湊物件,確保其與預期的雜湊相符。

驗證簽名

要驗證數位簽名,您需要使用與簽署所用的私鑰關聯的公鑰。 雖然IronPDF程式庫簡化了簽署過程,但驗證通常涉及使用如pycryptodome等加密程式庫比較文件的雜湊與解密後的簽名雜湊。 運行以下命令以使用pycryptodome

pip install pycryptodome
pip install pycryptodome
SHELL

安全性和最佳實踐

儘管IronPDF程式庫處理了簽署PDF的複雜性,但理解和實施用戶身份驗證、安全管理金鑰以及使用RSA等雜湊演算法確保數據完整性在數位簽名的實施中至關重要。

金鑰安全

始終確保您的私鑰安全。 如果其他人獲得訪問權限,他們可以如同您一樣簽署文件。

用於完整性的雜湊

在簽署前務必進行數據雜湊。 這確保了簽名對文件內容的唯一性。

信任的驗證

在信任文件之前務必驗證簽名。 這確保文件在簽署後未被篡改。

結論

在Python中實現數位簽名變得簡單易行,通過一個如IronPDF的程式庫。 它允許開發者以最少的麻煩簽署和驗證文件,同時確保安全和真實的數位交易。

本指南提供了基礎理解和應用於使用Python將數位簽名應用於PDF文件的實用方法。 遵循所提供的範例和最佳實踐,您可以在您的應用程式中實施一個強健的數位簽名過程。

IronPDF提供免費試用,讓用戶在承諾之前探索其完整功能。 要在試用期後繼續使用,授權從$799開始,開發目的則提供免費訪問。

IronPDF還允許您構建互動表單拆分合併PDF文件,從PDF文件中提取文本和圖像,在PDF文件中搜尋某些詞彙,將PDF頁面光柵化為圖像,轉換PDF為HTML,及列印PDF文件

常見問題解答

什麼是PDF中的數位簽章?

PDF中的數位簽章是一種加密技術,用於確保文件的真實性和完整性,驗證其未被篡改並確認簽署者的身份。

如何使用IronPDF在Python中實現數位簽章?

您可以使用IronPDF在Python中實現數位簽章,通過它的功能將簽章應用於PDF。這涉及生成加密密鑰並使用.pfx文件進行文件簽署。

生成數位簽章的加密密鑰的步驟是什麼?

要生成數位簽章的加密密鑰,可以使用OpenSSL等工具創建.pfx或.p12證書,這對於在Python中簽署和驗證PDF文件是必不可少的。

IronPDF如何幫助Python中處理PDF?

IronPDF通過提供創建、編輯、簽署PDF、將HTML渲染為PDF和支持數位簽章等功能,簡化了Python中PDF的工作,增強了文件的安全性和管理。

使用IronPDF進行Python數位簽章的前提條件是什麼?

要在Python中使用IronPDF進行數位簽章,您需要安裝Python、設置開發環境並安裝IronPDF庫。您還需要生成加密密鑰,可以使用OpenSSL進行此操作。

如何使用Python驗證PDF中的數位簽章?

要使用Python驗證PDF中的數位簽章,可以使用IronPDF的驗證功能與公鑰一起檢查文件的真實性,以確保其未被篡改。

使用數位簽章時應遵循哪些安全措施?

使用數位簽章時,重要的是保持您的私鑰安全,在簽署前哈希數據以確保唯一簽名,並始終驗證簽名以保持文件的完整性。

IronPDF在Python中支持哪些額外的PDF功能?

IronPDF在Python中支持構建交互式表單、拆分和合併PDF、提取文本和圖像以及將PDF轉換為各種格式等額外的PDF功能,這使它成為開發人員的多功能工具。

購買許可證前,我可以免費試用IronPDF嗎?

是的,IronPDF提供免費試用,允許用戶在購買許可證以繼續使用之前,探索其功能,包括PDF操作和數位簽章功能。

IronPDF如何促進Python中的HTML到PDF的轉換?

IronPDF通過提供將HTML字符串或文件渲染成PDF的方法來促進Python中的HTML到PDF轉換,允許動態文件創建和管理。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me