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

如何在 Python 中添加數字簽名

數位簽章是網路安全的關鍵方面,可確保數位資訊和文件的真實性和完整性。 Python 擁有豐富的函式庫生態系統,為使用 def signdef 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,可以從 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 安裝ironpdf

5. 產生加密金鑰

您需要一對加密金鑰(私鑰和公鑰)來建立和驗證數位簽章。 可以使用 OpenSSL 或 Adob​​e Acrobat Reader 等工具產生 .pfx 或 .p12 憑證。 請務必妥善保管這些金鑰,因為它們對於數位簽章的完整性和安全性至關重要。

產生金鑰

簽署文件前,您需要一對加密金鑰。 您可以使用 Adob​​e 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

在上面的程式碼中,PdfSignature 函數與提供的 .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

第四步:簽署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 等雜湊演算法來確保資料完整性至關重要。

關鍵安全

務必妥善保管您的私鑰。 如果其他人獲得了存取權限,他們也可以像你一樣簽署文件。

哈希完整性

簽章前務必對資料進行雜湊處理。 這樣可以確保簽名與文件內容唯一對應。

信任驗證

在信任任何文件之前,請務必核實簽名。 這樣可以確保文件在簽署後沒有被竄改。

結論

使用IronPDF等庫,Python 中的數位簽名變得非常簡單。 它使開發人員能夠以最少的麻煩簽署和驗證文檔,同時確保安全可靠的數位交易。

本指南提供了使用 Python 將數位簽章應用於 PDF 文件的基本理解和實用方法。 遵循文中列舉的範例和最佳實踐,您可以在應用程式中實現強大的數位簽章流程。

IronPDF提供免費試用,用戶可以在購買前體驗其全部功能。 試用期結束後,如需繼續使用,許可證從 $999 開始,並提供免費存取權限用於開發目的。

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 機器人,結合科技與創意的樂趣。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我