Инструкция по миграции с tdhelper на командную строку нового КриптоАРМ
КриптоАРМ 5 работает с командной строкой благодаря скрипту tdhelper на VBScript. Новый КриптоАРМ сборка 6.х.х/7.х.х поддерживает работу с командной строкой и не требует использование tdhelper. Ключевые отличия между старым и новым форматами, примеры миграции для основных операций и практические рекомендации — читайте в нашей статье.
Миграция с tdhelper.vbs (КриптоАРМ 5) на командную строку КриптоАРМ сборка 7.х.х и выше
Важно: путь к исполняемому файлу
Для краткости в примерах ниже используется команда cryptoarm.
В рабочих скриптах обычно нужно указывать полный путь к исполняемому файлу.
- КриптоАРМ сборка 7.х.х: "C:\Program Files\CryptoARM\cryptoarm.exe"
- КриптоАРМ сборка 6.х.х: "C:\Program Files\CryptoARM 6\cryptoarm6.exe"
Пример для КриптоАРМ сборка 7.х.х и выше:
"C:\Program Files\CryptoARM\cryptoarm.exe" --help
Пример для КриптоАРМ сборка 6.х.х:
"C:\Program Files\CryptoARM 6\cryptoarm6.exe" --help
Важно для Windows cmd.exe: кодировка вывода
В обычной командной строке Windows (cmd.exe) по умолчанию используется не Unicode-кодировка. Из-за этого русский текст в выводе КриптоАРМ может отображаться некорректно.
Перед выполнением команд переключите кодовую страницу:
chcp 65001
Примечание: для PowerShell это обычно не требуется, проблема чаще встречается именно в cmd.exe.
Документ показывает, как перенести сценарии автоматизации со старого формата:
cscript.exe tdhelper.vbs <input> <output> <profile> <operation>
на новый формат работы в командной строке КриптоАРМ сборка 7.х.х и выше, где параметры операций задаются явными ключами.
Ключевые отличия
- В tdhelper обязательно использовался профиль (<profile>), а в командной строке КриптоАРМ сборка 7.х.х и выше профиль не используется и не задаётся параметрами команды.
- В командной строке КриптоАРМ сборка 7.х.х и выше вместо позиции аргументов используются именованные флаги (--source-file, --source-folder, --cert и т.д.).
- Операция в tdhelper кодировалась последним параметром (S, E, V, D), а в командной строке КриптоАРМ сборка 7.х.х и выше это отдельная подкоманда (sign, encrypt, verify, decrypt).
- В командной строке КриптоАРМ сборка 7.х.х и выше появилась новая функция формирования PDF-отчётов проверки подписи (--save-report-pdf и --save-report-pdf-merged), которой в tdhelper не было.
Соответствие операций
| tdhelper (КриптоАРМ 5) | КриптоАРМ сборка 6.х.х/7.х.х | Описание |
| S | Sign | cryptoarm sign | подпись документа |
| A | Add | cryptoarm sign | подпись документа либо добавление соподписи |
| V | VerifySignature | cryptoarm verify | проверка подписи |
| T | TakeOffSignature | cryptoarm verify --unsign | проверка подписи, снятие подписи |
| E | Encrypt | cryptoarm encrypt | шифрование файла |
| D | Decrypt | cryptoarm decrypt | расшифрование файла |
Примеры миграции команд
1) Создание подписи
tdhelper (КриптоАРМ 5):
cscript.exe tdhelper.vbs документы подписи "Создание подписи" S
Командная строка КриптоАРМ сборка 7.х.х и выше:
cryptoarm sign --cert "<SERIAL_SIGN_CERT>" --source-folder ".\документы" --folder-save-signed ".\подписи"
2) Создание отделённой подписи
tdhelper:
cscript.exe tdhelper.vbs документы "отделённые подписи" detached S
Командная строка КриптоАРМ сборка 7.х.х и выше:
cryptoarm sign --cert "<SERIAL_SIGN_CERT>" --detached --source-folder ".\документы" --folder-save-signed ".\отделённые подписи"
3) Проверка подписи
tdhelper:
cscript.exe tdhelper.vbs подписи out "Создание подписи" V
Командная строка КриптоАРМ сборка 7.х.х и выше:
cryptoarm verify --source-folder ".\подписи"
Если подпись отделённая, добавьте исходный файл:
cryptoarm verify --source-file ".\подписи\report.pdf.sig" --document ".\документы\report.pdf"
Дополнительно в командной строке КриптоАРМ сборка 7.х.х и выше доступны PDF‑отчёты проверки (в tdhelper этого не было):
cryptoarm verify --source-folder ".\подписи" --save-report-pdf ".\reports-pdf"
cryptoarm verify --source-folder ".\подписи" --save-report-pdf-merged ".\reports-pdf-merged"
--save-report-pdf создаёт отдельные отчёты по каждой подписи.
--save-report-pdf-merged создаёт единый отчёт по всем проверенным подписям.
4) Шифрование
tdhelper:
cscript.exe tdhelper.vbs документы зашифровано encrypt E
Командная строка КриптоАРМ сборка 7.х.х и выше:
cryptoarm encrypt --cert "<SERIAL_ENCRYPT_CERT>" --source-folder ".\документы" --folder-to-save-encrypted ".\зашифровано"
5) Расшифрование
tdhelper:
cscript.exe tdhelper.vbs зашифровано расшифровано "Создание подписи" D
Командная строка КриптоАРМ сборка 7.х.х и выше:
cryptoarm decrypt --source-folder ".\зашифровано" --folder-to-save-decrypted ".\расшифровано"
6) Цепочка «подписать и зашифровать» (старый tdhelper_all.bat)
tdhelper:
cscript.exe tdhelper.vbs "income" "income_sig" "ФНС 1" "Sign"
cscript.exe tdhelper.vbs "income_sig" "income_sig" "ФНС 1" "VerifySignatures"
cscript.exe tdhelper.vbs "income_sig" "outcome_sig" "ФНС 1" "TakeOffSignatures"
cscript.exe tdhelper.vbs "income" "income_enc" "ФНС 1" "Encrypt"
cscript.exe tdhelper.vbs "income_enc" "outcome_dec" "ФНС 1" "Decrypt"
Командная строка КриптоАРМ сборка 7.х.х и выше (эквивалентный поток):
cryptoarm sign --cert "<SERIAL_SIGN_CERT>" --source-folder ".\income" --folder-save-signed ".\income_sig"
cryptoarm verify --source-folder ".\income_sig"
cryptoarm verify --source-folder ".\income_sig" --save-report-pdf ".\income_sig_reports_pdf"
cryptoarm verify --source-folder ".\income_sig" --save-report-pdf-merged ".\income_sig_reports_pdf_merged"
cryptoarm verify --source-folder ".\income_sig" --unsign ".\outcome_sig"
cryptoarm encrypt --cert "<SERIAL_ENCRYPT_CERT>" --source-folder ".\income" --folder-to-save-encrypted ".\income_enc"
cryptoarm decrypt --source-folder ".\income_enc" --folder-to-save-decrypted ".\outcome_dec"
Команды с --save-report-pdf и --save-report-pdf-merged добавлены как новая возможность командной строки КриптоАРМ сборка 7.х.х и выше, которой не было в tdhelper.
Практические шаги миграции
- Сохраните старые профили и операции из *.bat и *.vbs сценариев.
- Для каждой операции замените operation на подкоманду командной строки КриптоАРМ сборка 7.х.х и выше (sign|encrypt|verify|decrypt).
- Параметры, которые раньше хранились в профиле, вынесите в явные опции команды.
- Добавьте предварительный шаг получения серийного номера сертификата:
cryptoarm certificates
- Прогоните сценарии сначала на тестовом каталоге и сравните результаты по именам файлов и содержимому отчётов.
Проверка доступных опций в вашей версии
Воспользуйтесь следующими командами для вызова справочной информации в интерфейсе командной строки (CLI):
- cryptoarm --help
- cryptoarm sign --help
- cryptoarm encrypt --help
- cryptoarm verify --help
- cryptoarm decrypt --help
Некоторые флаги в разных сборках командной строки КриптоАРМ могут отличаться по названию. Приоритет у локального --help вашей установленной версии.
Заключение
Таким образом, переход на командную строку в КриптоАРМ 7.х.х и выше делает автоматизацию работы с электронной подписью и шифрованием более удобной, прозрачной и функциональной. Новая версия КриптоАРМ позволяет указать все настройки в командной строке, расширяет возможности работы с ЭП и интеграции в любые скрипты системы автоматизации.
Следуя приведённым рекомендациям, перенесите существующие сценарии и воспользуйтесь новыми возможностями программы КриптоАРМ.
Если у вас остались вопросы по миграции или использованию командной строки КриптоАРМ, обратитесь в онлайн‑чат на сайте или на support@trusted.ru.