Как автоматизировать проверку электронной подписи с помощью КриптоАРМ на рабочем месте
Электронная подпись уже давно вошла в повседневную жизнь организаций — её ставят на кадровые документы, счета, договоры. Но когда таких файлов становится не пять и не десять, а сотни или даже тысячи, проверка каждой подписи вручную превращается в изматывающую рутину. Представьте, что у вас в отделе работает внимательная, но уставшая «бабушка-секретарь», которая весь день кликает мышкой и открывает по очереди файлы, чтобы убедиться, что подпись верна. Такой подход не просто неэффективен — он уязвим для ошибок и отнимает кучу времени. Именно поэтому автоматизация проверки подписей — необходимость.
В этой статье мы покажем, как с помощью КриптоАРМ и его интерфейса командной строки (CLI) автоматизировать проверку электронной подписи всех файлов каталога с формированием отчета о проверке в PDF-формате.
Зачем автоматизировать проверку подписи
Если вы уже работаете с электронными подписями, то, скорее всего, сталкивались с такими задачами:
- Нужно массово проверить электронные документы — отчёты, акты, счета и т. д.
- Важно убедиться, что подпись действительна (документ не был изменён), сертификат не истёк, не отозван.
- Необходимо сохранять протоколы проверки для аудита и отчетности.
Автоматизация избавляет от ошибок, снижает нагрузку на сотрудников и позволяет встроить проверку подписи в любой этап бизнес-процесса: при получении документа, перед его обработкой, при архивировании.
Кроме того, на практике часто возникает необходимость встроить автоматическую проверку подписей в уже существующие бизнес-процессы или информационные системы. Но далеко не всегда это просто:
- старая система, унаследованная от предыдущих разработчиков;
- используемый исходный код закрытый;
- отсутствие документации;
- отсутствие собственных разработчиков или бюджета на оплату аутсорса;
- каждый перезапуск системы — как поход по минному полю.
В таких условиях «влезать» в систему рискованно, а порой и вовсе невозможно. Именно здесь особенно ценны инструменты, которые можно использовать снаружи, без глубокого вмешательства — например, командная строка, которую легко встроить в планировщик задач, скрипт (просто «батник»).
Как настроить автопроверку подписи всех документов в каталоге
Помимо привычного графического интерфейса КриптоАРМ предлагает удобный способ автоматизации — интерфейс командной строки (CLI). С его помощью можно запускать проверку подписей, подписывать файлы, расшифровывать и выполнять другие операции прямо из скриптов или планировщика задач.
Главное преимущество командной строки — для этого не нужно быть программистом. Если вы умеете работать с обычными папками и файлами в Windows, вы уже справитесь. А если вдруг потребуется более сложная интеграция, нестандартный сценарий или помощь с настройкой — просто напишите нам на email support@trusted.ru. Мы поможем.
Рассмотрим пример bat
-файла, который:
- Проверяет все
.sig
файлы в указанной папке (INPUT_DIR
). - Складывает PDF-отчёты в другую папку (
REPORT_DIR
). - Может быть запущен:
- вручную;
- по расписанию через планировщик заданий (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-формате. В них содержатся:
- информация о подписи (стандарт, время подписания, штампы);
- статус проверки (действительна/недействительна);
- данные о сертификате (владелец, издатель, серийный номер).

Расширенные сценарии КриптоАРМ CLI
КриптоАРМ поддерживает и другие команды для CLI, например:
- Подписание.
- Шифрование и расшифрование.
- Проверка архивных подписей (например, в формате CAdES-A).
- Проверка подписей внутри PDF (PAdES).
Если интерфейса командной строки КриптоАРМ для вашего кейса недостаточно и требуется глубокая интеграция в информационную систему, то вам подойдет наш продукт — КриптоАРМ Sever. Как его использовать для автоматизации проверки подписи, мы рассказали в нашей статье.
Заключение
Автоматизация проверки подписей — это необходимость в условиях массового электронного документооборота. КриптоАРМ предоставляет всё для этого:
- Интерфейс командной строки / CLI — для локальных и серверных скриптов.
- Форматы подписей — поддержка всех ГОСТ и CAdES и PAdES.
- Стандарты — соответствие Федерального закона № 63-ФЗ и рекомендациям ТК 26.
Интеграция займет час, а сэкономит сотни. По вопросам реализации автоматической проверки обращайтесь на наш email support@trusted.ru.