Как автоматизировать проверку электронной подписи с помощью КриптоАРМ на рабочем месте

Александр Гаврилов · 12 мая 2025 · 570 · Поделиться

Электронная подпись уже давно вошла в повседневную жизнь организаций — её ставят на кадровые документы, счета, договоры. Но когда таких файлов становится не пять и не десять, а сотни или даже тысячи, проверка каждой подписи вручную превращается в изматывающую рутину. Представьте, что у вас в отделе работает внимательная, но уставшая «бабушка-секретарь», которая весь день кликает мышкой и открывает по очереди файлы, чтобы убедиться, что подпись верна. Такой подход не просто неэффективен — он уязвим для ошибок и отнимает кучу времени. Именно поэтому автоматизация проверки подписей — необходимость.

В этой статье мы покажем, как с помощью КриптоАРМ и его интерфейса командной строки (CLI) автоматизировать проверку электронной подписи всех файлов каталога с формированием отчета о проверке в PDF-формате.

Зачем автоматизировать проверку подписи

Если вы уже работаете с электронными подписями, то, скорее всего, сталкивались с такими задачами:

  • Нужно массово проверить электронные документы — отчёты, акты, счета и т. д.
  • Важно убедиться, что подпись действительна (документ не был изменён), сертификат не истёк, не отозван.
  • Необходимо сохранять протоколы проверки для аудита и отчетности.

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

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

  • старая система, унаследованная от предыдущих разработчиков;
  • используемый исходный код закрытый;
  • отсутствие документации;
  • отсутствие собственных разработчиков или бюджета на оплату аутсорса;
  • каждый перезапуск системы — как поход по минному полю.

В таких условиях «влезать» в систему рискованно, а порой и вовсе невозможно. Именно здесь особенно ценны инструменты, которые можно использовать снаружи, без глубокого вмешательства — например, командная строка, которую легко встроить в планировщик задач, скрипт (просто «батник»).

Как настроить автопроверку подписи всех документов в каталоге

Помимо привычного графического интерфейса КриптоАРМ предлагает удобный способ автоматизации — интерфейс командной строки (CLI). С его помощью можно запускать проверку подписей, подписывать файлы, расшифровывать и выполнять другие операции прямо из скриптов или планировщика задач.

Главное преимущество командной строки — для этого не нужно быть программистом. Если вы умеете работать с обычными папками и файлами в Windows, вы уже справитесь. А если вдруг потребуется более сложная интеграция, нестандартный сценарий или помощь с настройкой — просто напишите нам на email support@trusted.ru. Мы поможем.

Рассмотрим пример bat-файла, который:

  1. Проверяет все .sig файлы в указанной папке (INPUT_DIR).
  2. Складывает PDF-отчёты в другую папку (REPORT_DIR).
  3. Может быть запущен:
    • вручную;
    • по расписанию через планировщик заданий (Task Scheduler);
    • либо в бесконечном цикле с проверкой появления новых файлов.

Мы приводим пример под Windows, но его несложно адаптировать под Linux.

Пример скрипта проверки подписей с формированием отчётов

Создайте файл (например с именем verify_all_signatures.bat) в любом каталоге и поместите в него следующий текст:

set "REPORT_DIR=C:\Users\test\Documents\Отчеты"

set "CLI_PATH=C:\Program Files\CryptoARM 6\cryptoarm6.exe"

 

rem ==== Проверка существования папок ====

if not exist "%INPUT_DIR%" (

        echo [ОШИБКА] Входная папка не найдена: %INPUT_DIR%

        exit /b 1

)

if not exist "%REPORT_DIR%" (

        echo Создаю папку отчетов: %REPORT_DIR%

        mkdir "%REPORT_DIR%"

        if errorlevel 1 (

        echo [ОШИБКА] Не удалось создать папку отчетов.

        exit /b 2

        )

)

 

rem ==== Проверка наличия файлов .sig ====

dir /b /a-d "%INPUT_DIR%\*.sig" | findstr "." >nul

if errorlevel 1 (

        echo [ОШИБКА] Нет файлов .sig для проверки в %INPUT_DIR%

        exit /b 3

)

 

rem ==== Проверка прав на запись в папку отчетов ====

echo test > "%REPORT_DIR%\__test_write.txt" 2>nul

if errorlevel 1 (

        echo [ОШИБКА] Нет прав на запись в %REPORT_DIR%

        exit /b 4

)

del /f /q "%REPORT_DIR%\__test_write.txt" >nul 2>&1

 

rem ==== Проверка файлов ====

echo Начинаем проверку файлов в "!INPUT_DIR!"

for %%F in ("!INPUT_DIR!\*.sig") do (

        if exist "%%~fF" (

        set "sig_name=%%~nxF"

        set "report_pdf=%REPORT_DIR%\!sig_name!_report.pdf"

 

        if exist "!report_pdf!" (

        echo Пропускаем %%~nxF — отчет уже существует: "!report_pdf!"

        ) else (

        echo Проверка: %%~nxF

        "%CLI_PATH%" verify --source-file "%%~fF" --save-report-pdf "%REPORT_DIR%"

        if !errorlevel! equ 0 (

                echo Успешно: !report_pdf!

        ) else (

                echo [ОШИБКА] при проверке %%~nxF

        )

        )

        )

)

 

echo Завершено.

timeout /t 5 > nul

exit /b 0

Вариант 1: запуск по расписанию

  • Откройте Планировщик заданий (Task Scheduler).
  • Создайте новую задачу:
    • Триггер: каждые 5 минут (или в нужное время).
    • Действие: запуск verify_all_signatures.bat.

Вариант 2: запуск при появлении новых файлов (циклически)

Если хотите, чтобы BAT-файл сам проверял наличие новых файлов каждые 30 секунд, используйте цикл:



:loop

echo ======= Новый цикл: %date% %time% =======

call :verify_all

timeout /t 30 > nul

goto loop

Советы

  • Перед запуском скрипта задайте кодировку в консоли командой: chcp 65001.
  • Убедитесь, что в CLI_PATH указан реальный путь к cryptoarm6.exe.
  • При использовании на серверных ОС убедитесь, что приобретена лицензия на сервер (для клиентских мест лицензия соответствующая).

Отчёт о проверке в PDF-формате

КриптоАРМ CLI формирует отчёты в PDF-формате. В них содержатся:

  • информация о подписи (стандарт, время подписания, штампы);
  • статус проверки (действительна/недействительна);
  • данные о сертификате (владелец, издатель, серийный номер).
PDF-отчёт о проверке подписи в КриптоАРМ

Расширенные сценарии КриптоАРМ CLI

КриптоАРМ поддерживает и другие команды для CLI, например:

  • Подписание.
  • Шифрование и расшифрование.
  • Проверка архивных подписей (например, в формате CAdES-A).
  • Проверка подписей внутри PDF (PAdES).

Если интерфейса командной строки КриптоАРМ для вашего кейса недостаточно и требуется глубокая интеграция в информационную систему, то вам подойдет наш продукт — КриптоАРМ Sever. Как его использовать для автоматизации проверки подписи, мы рассказали в нашей статье.

Заключение

Автоматизация проверки подписей — это необходимость в условиях массового электронного документооборота. КриптоАРМ предоставляет всё для этого:

  • Интерфейс командной строки / CLI — для локальных и серверных скриптов.
  • Форматы подписей — поддержка всех ГОСТ и CAdES и PAdES.
  • Стандарты — соответствие Федерального закона № 63-ФЗ и рекомендациям ТК 26.

Интеграция займет час, а сэкономит сотни. По вопросам реализации автоматической проверки обращайтесь на наш email support@trusted.ru.

Вернуться к списку новостей

Подпишитесь и получайте новые статьи по почте

Заполните поле Подписаться

Подписываясь, вы соглашаетесь на получение информационных сообщений от компании
ООО «Цифровые технологии» на условиях Политики конфиденциальности

Спасибо, что подписались
на нашу рассылку!

Узнавайте новости первыми —
подпишитесь на нашу новостную рассылку

Заполните поле
Подписаться

Подписываясь, вы соглашаетесь на получение информационных сообщений от компании
ООО «Цифровые технологии» на условиях Политики конфиденциальности

Спасибо, что подписались
на нашу рассылку!

Для повышения удобства работы и хранения данных веб-сайт CRYPTOARM.RU использует файлы COOKIE. Продолжая работу с веб-сайтом, Вы даете свое согласие на работу с этими файлами.