IRONSOFTWAREHOME
USING IRONPDF FOR PYTHON

如何在 Python 中新增數位簽章

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

數位簽章是網路安全的重要方面,確保數位訊息和文件的真實性和完整性。 Python 擁有豐富的程式庫生態系統,提供了一個可存取的平台,可以使用或不使用金鑰來實施這些簽章,通過 def signdef verify。 本指南將引導您通過使用 IronPDF 和密碼學程式庫,使用私鑰或公鑰建立和確認數位簽章。

數位簽章介紹

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

數位簽章的運作原理

數位簽章使用私鑰和公鑰的組合。 私鑰用於建立簽章,應由簽署者安全保管。 公鑰與任何人共用,用於驗證對應的私鑰是否進行了簽署。 這是基於公鑰密碼學,通常使用像 RSA 這樣的演算法實施。

IronPDF 介紹

如何在 Python 中新增數位簽章,圖 1:IronPDF IronPDF

IronPDF 是一個用於處理 PDF 的多功能 Python 程式庫。 它提供了一系列豐富的功能,包括建立、編輯和渲染 PDF,以及將數位簽章或訊息嵌入到 PDF 文件中。 由於其易於使用和強大的功能,這個程式庫脫穎而出,使其成為開發人員在 Python 應用程式中整合 PDF 功能的絕佳選擇。

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 install ironpdf

5. 生成加密密鑰

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

生成密鑰

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

使用 IronPDF 簽署文件

簡單的數位簽章

using 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")
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>")
Python

步驟 2:建立簽署物件

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

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"
Python

步驟 4:簽署 PDF

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

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

步驟 5:儲存已簽署的 PDF

文件僅在儲存之後才被視為簽署完畢:

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

如何在 Python 中新增數位簽章,圖 2:已簽署的 PDF 輸出 已簽署的 PDF 輸出

驗證過程

重要性

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

驗證簽章

要驗證數位簽章,您將使用與用於簽署之私鑰相關聯的公鑰。 雖然 IronPDF 程式庫簡化了簽署過程,但驗證通常涉及使用像 pycryptodome 這樣的加密程式庫來比較文件的雜湊與解密的簽章雜湊。 運行以下命令來使用 pycryptodome

pip install pycryptodome
SHELL

安全性和最佳實踐

雖然 IronPDF 程式庫處理了簽署 PDF 的複雜性,但了解和實施使用者驗證、妥善管理金鑰並使用如 RSA 的雜湊演算法來維護資料完整性對於數位簽章的實施是至關重要的。

金鑰安全

始終保持您的私鑰安全。 如果其他人獲得存取權限,他們可能會像您一樣簽署文件。

完整性雜湊

在簽署之前始終對資料進行雜湊。 這可確保簽章是文件內容唯一的。

信任的驗證

在信任文件之前,始終驗證簽章。 這可確文件在簽署後未被篡改。

結論

使用類似 IronPDF 的程式庫,Python 中的數位簽章變得簡單明瞭。 它使開發人員能夠在確保安全和真實的數位交易的同時,輕鬆簽署和驗證文件。

本指南提供了一個基本的理解和實際應用方法,將數位簽章應用於 PDF 文件中,使用 Python。 依照範例和最佳實踐,您可以在您的應用程式中實施一個健全的數位簽章流程。

IronPDF 提供免費試用,讓使用者在承諾之前充分探索其全部功能。 試用期結束後繼續使用,授權從 $999 開始,並為開發目的提供免費使用。

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

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...
Read More

Related Articles

Key in blue circle

立即免費取得 30 天試用金鑰

bullet_checked無需信用卡或建立帳號
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預約您的免費即時演示
Booking Badge related to IronPDF Product Demo

全球數百萬工程師的信賴

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
全球數百萬工程師的信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立