簡體   English   中英

檢查 pdf 是否已簽名

[英]Check if a pdf is signed or not

我想寫一個 python 腳本來檢查 pdf 是否被簽名。 環顧四周后,我看到 pyPDF2 有助於從 pdf 個文件中提取文本,但我不確定它是否可用於提取簽名詳細信息,如公鑰等。

我通過一些開源包(如 pyhanko 和 cryptography)完成了 go,但我對如何去做有點困惑。

我之前沒有使用 python 處理過加密或 PDF。 您能指導我執行此操作的最佳方法嗎?

謝謝並致以最誠摯的問候, Raghu

我嘗試使用密碼學 package 但不太確定如何從 pdf 中提取簽名證書。

Adobe pdf 提供 PKCS7 和 CER 格式的導出。我想知道如何使用 python 執行此操作。這是為了對另一個過程進行驗證步驟。

還要感謝是否有其他簡單而聰明的方法來檢查 pdf 是否已簽名。

免責聲明:我是本答案中使用的庫borb的作者

只需使用borb ,獲取DocumentInfo object,並調用其has_signatures function。

from borb.pdf import PDF
from borb.pdf import Document

import typing

# read the PDF
doc: typing.Optional[Document] = None
with open("input.pdf", "rb") as fh:
    doc = PDF.loads(fh)

# check whether anything has been read
# this may fail due to IO error
# or a corrupt PDF
assert doc is not None

# check whether signatures are in the PDF
doc.get_document_info().has_signatures()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM