Проверки целостности подписи

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()