签名完整性检查

Aspose.PDF for Python via .NET 提供了 PdfFileSignature 用于验证已签署 PDF 文档的外观层。文件签署后,你可以使用它检查签名是否适用于完整文档以及已签署内容是否仍然有效。

此示例演示了两种常见的完整性检查:

  1. 检查签名是否覆盖整个文档。
  2. 验证已签名 PDF 内容的完整性。

检查签名是否覆盖整个文档

使用 covers_whole_document() 当您需要确认签名适用于完整的 PDF,而不仅仅是其内容的一部分时。示例读取第一个可用的签名名称并检查其覆盖范围。

import aspose.pdf.facades as pdf_facades
import sys
from os import path


def check_signature_coverage(infile):
    pdf_signature = create_pdf_file_signature(infile)
    try:
        sign_name = require_signature_name(pdf_signature)
        covers_document = pdf_signature.covers_whole_document(sign_name)
        print(f"Signature '{sign_name}' covers the whole document: {covers_document}")
    finally:
        pdf_signature.close()

验证文档完整性

使用 verify_signed() 以确认签名后文档内容未被更改。此方法有助于验证文档在所选签名下是否仍然有效。

import aspose.pdf.facades as pdf_facades
import sys
from os import path


def validate_document_integrity(infile):
    pdf_signature = create_pdf_file_signature(infile)
    try:
        sign_name = require_signature_name(pdf_signature)
        is_valid = pdf_signature.verify_signed(sign_name)
        print(f"Document integrity for '{sign_name}' is valid: {is_valid}")
    finally:
        pdf_signature.close()