Введение в проверку цифровых подписей

Нужно проверить, является ли подпись в документе подлинной? Цифровые подписи похожи на электронные отпечатки пальцев, которые помогают доказать, кто подписал документ, и показывают, изменили ли его после подписания. В отличие от бумажных подписей, цифровые подписи используют специальное шифрование, что делает их намного более безопасными.

Это руководство покажет вам, как проверять различные типы подписей в документах с использованием Python и библиотеки GroupDocs.Signature. Будь то проверка цифровых подписей, штрих-кодов или QR-кодов в PDF, Word или Excel файлах, у нас есть готовые к использованию примеры кода.

Что такое цифровые подписи?

Цифровые подписи работают как высокотехнологичная версия рукописных подписей, но с дополнительными функциями безопасности. Вот что делает их особенными:

  1. Они подтверждают личность - Они показывают, кто действительно подписал документ
  2. Они защищают содержимое - Они показывают, изменили ли кто-то документ после подписания
  3. Они не могут быть опровергнуты - Подписавший не может утверждать, что он не подписывал документ

Когда кто-то подписывает документ цифровой подписью, он использует приватный ключ, который есть только у него. Любой может проверить подпись с помощью общедоступного ключа, чтобы убедиться, что она подлинная. Этот процесс проверки мы и изучим в этом руководстве.

Представьте себе цифровые подписи как специальный замок, который может закрыть только один человек, но любой может проверить, правильно ли он закрыт.

Как проверить цифровые подписи

Проверка цифровых подписей - это критически важный процесс для обеспечения подлинности и целостности документов в современном цифровом ландшафте. Когда вы проверяете цифровые подписи в документах, вы в основном проверяете две основные вещи: является ли подпись подлинной и был ли документ изменен после подписания.

Понимание процесса проверки цифровых подписей

Процесс проверки подписей включает несколько ключевых шагов, которые работают вместе для валидации электронных подписей:

Проверка цепочки сертификатов: Каждая цифровая подпись содержит сертификат, который идентифицирует подписавшего. Во время проверки система проверяет, действителен ли этот сертификат, не истек ли он и был ли он выдан доверенным центром сертификации (CA). Этот шаг гарантирует, что человек, утверждающий, что подписал документ, действительно имеет на это право.

Проверка криптографического хеша: Цифровые подписи используют криптографические хеш-функции для создания уникального отпечатка документа на момент подписания. При проверке подписей система пересчитывает этот хеш и сравнивает его с оригинальным. Если они совпадают, документ не был изменен.

Проверка временной метки: Многие электронные подписи включают временные метки, которые доказывают, когда был подписан документ. Проверка временной метки помогает установить порядок подписания и убедиться, что подпись была создана, когда сертификат был еще действителен.

Почему важна проверка цифровых подписей

Проверка подписей документов выполняет несколько ключевых функций в современных бизнес-процессах:

Соблюдение законов: Многие отрасли требуют проверенных электронных подписей для соответствия нормативным стандартам. Правильная проверка подписей гарантирует, что ваши документы будут иметь юридическую силу в судебных разбирательствах и соответствовать законам, таким как eIDAS в Европе или ESIGN Act в США.

Обеспечение безопасности: Проверка цифровых подписей защищает от подделки документов и несанкционированных изменений. Это особенно важно для контрактов, финансовых документов и конфиденциальных бизнес-соглашений.

Целостность рабочего процесса: В автоматизированных системах обработки документов проверка подписей гарантирует, что только правильно подписанные документы проходят через ваши бизнес-процессы, предотвращая ошибки и поддерживая контроль качества.

Типы подписей, которые можно проверить

Современные решения для подписания документов поддерживают различные типы подписей, каждый из которых служит разным целям:

Цифровые подписи на основе PKI: Они используют инфраструктуру открытых ключей и являются наиболее безопасным вариантом. Они идеальны для высокоценных транзакций, юридических документов и сценариев, требующих неотказуемости.

Биометрические подписи: Они захватывают уникальные биологические характеристики, такие как почерк или отпечатки пальцев. Они отлично подходят для сценариев, где нужно доказать физическое присутствие подписавшего.

Простые электронные подписи: Они включают базовые подтверждения по электронной почте, принятие с помощью флажка или введенные имена. Хотя они менее безопасны, они подходят для соглашений с низким риском и внутренних рабочих процессов.

✅ Проверка штрих-кодовой подписи

Штрих-коды могут хранить информацию о подписи в документах. Вот как проверить, действительна ли штрих-кодовая подпись:

  1. Получите нужные инструменты: Импортируйте модули GroupDocs.Signature
  2. Настройте свой документ: Укажите программе, какой файл нужно проверить
  3. Проверьте штрих-код: Используйте специальные параметры для проверки штрих-кода
  4. Получите результаты: Узнайте, действительна ли подпись

Вот код, который выполняет все это:

import groupdocs.signature as gs
import groupdocs.signature.options as gso
import groupdocs.signature.domain as gsd
import os

def run():
    # Путь к вашему подписанному документу
    file_path = "sample.pdf"

    # Откройте документ для проверки
    with gs.Signature(file_path) as signature:
        options = gso.BarcodeVerifyOptions()
        options.all_pages = True  # Проверьте все страницы
        options.text = "12345"
        options.match_type = gsd.TextMatchType.CONTAINS

        # Проверьте подпись
        result = signature.verify(options)

        if result.is_valid:
            print(f"\nПодпись документа {file_path} действительна!")
        else:
            print(f"\nПроверка подписи документа {file_path} не удалась.")

if __name__ == "__main__":
    run()

✅ Проверка цифровой подписи

Цифровые подписи являются наиболее безопасным типом, так как они используют специальные сертификаты. Вот как их проверить:

  1. Получите нужные инструменты: Импортируйте необходимые модули
  2. Настройте свой документ: Укажите путь к вашему подписанному файлу
  3. Настройте параметры проверки: Укажите программе, что нужно проверить
  4. Запустите проверку: Проверьте подпись
  5. Посмотрите результаты: Узнайте, прошла ли она тест

Вот код, который это делает:

import groupdocs.signature as gs
import groupdocs.signature.options as gso
import os

def run():
    # Путь к вашему подписанному документу
    file_path = "sample.pdf"
    certificate_pfx = "путь к сертификату"

    # Откройте документ для проверки
    with gs.Signature(file_path) as signature:
        options = gso.DigitalVerifyOptions(certificate_pfx)
        options.contact = "Mr.Smith"
        options.password = "1234567890"

        # Проверьте подпись
        result = signature.verify(options)

        if result.is_valid:
            print(f"\nПодпись документа {file_path} действительна!")
            for item in result.succeeded:
                print(f"\nНайдена действительная подпись.")
        else:
            print(f"\nПроверка подписи документа {file_path} не удалась.")

if __name__ == "__main__":
    run()

✅ Проверка подписи QR-кода

QR-коды - это квадратные узоры, которые можно отсканировать с помощью телефона. Они также могут хранить информацию о подписи. Вот как их проверить:

  1. Подготовьте свои инструменты: Импортируйте необходимые модули
  2. Выберите свой документ: Укажите путь к файлу
  3. Настройте проверку QR-кода: Создайте нужные параметры
  4. Проверьте QR-код: Запустите проверку
  5. Посмотрите результаты: Узнайте, прошла ли она тест

Вот код, который выполняет эту задачу:

import groupdocs.signature as gs
import groupdocs.signature.options as gso
import groupdocs.signature.domain as gsd
import os

def run():
    # Путь к вашему подписанному документу
    file_path = "sample.pdf"

    # Откройте документ для проверки
    with gs.Signature(file_path) as signature:
        options = gso.QrCodeVerifyOptions()
        options.all_pages = True  # Проверьте все страницы
        options.text = "John"
        options.match_type = gsd.TextMatchType.CONTAINS

        # Проверьте подпись
        result = signature.verify(options)

        if result.is_valid:
            print(f"\nПодпись документа {file_path} действительна!")
        else:
            print(f"\nПроверка подписи документа {file_path} не удалась.")

if __name__ == "__main__":
    run()

📝 Заключение

Проверка цифровых подписей важна для обеспечения безопасности документов в современном цифровом мире. С GroupDocs.Signature for Python via .NET вы можете легко проверять различные типы подписей в ваших документах:

  • ✔️ Штрих-кодовые подписи для отслеживания и автоматизированных систем
  • ✔️ Цифровые подписи с сертификационной безопасностью
  • ✔️ Подписи QR-кодов для удобной мобильной проверки

Примеры кода в этом руководстве показывают, насколько просто добавить проверку подписей в ваши приложения на Python. Реализуя эти методы проверки, вы можете:

  • Убедиться, что документы не были изменены
  • Проверять личность подписавших документы
  • Создавать более безопасные рабочие процессы документов
  • Строить доверие в ваших цифровых процессах документов

Начните внедрять проверку цифровых подписей сегодня и повысьте уровень безопасности ваших документов!

Получите бесплатную пробную версию

Хотите попробовать эти функции проверки подписей самостоятельно? Вы можете скачать бесплатную пробную версию GroupDocs.Signature for Python via .NET с releases.groupdocs.com. Вы также можете получить временную лицензию на https://purchase.groupdocs.com/temporary-license/ для тестирования всех функций без ограничений.

Смотрите также