Подпись и шифрование с помощью КриптоАРМ через командную строку: примеры, нюансы, сценарии

Сергей Митюков · 29 окт 2026 · 8 · Поделиться

Командная строка КриптоАРМ — это инструмент для автоматизации криптографических операций: подписание, шифрование, проверка и расшифрование. Он особенно полезен в сценариях, где нужна повторяемость и интеграция в скрипты: миграция с tdhelper.vbs, обработка папок с документами, формирование отчётов в JSON/PDF, цепочка «подписать → зашифровать» и другие.

В этой статье — рабочие шаблоны команд для КриптоАРМ 6.х.х и 7.х.х на Windows и Linux, нюансы использования (пути к исполняемым файлам, кодировка в cmd.exe) и частые сценарии автоматизации. Все примеры приведены в формате, который удобно копировать в скрипты и адаптировать под свои пути и серийные номера сертификатов.

Статья полезна администраторам, DevOps-инженерам, интеграторам и специалистам по ЭДО, которым нужно автоматизировать подписание и шифрование документов.

Если вы привыкли использовать КриптоАРМ 5 и хотите работать через CLI в новой версии КриптоАРМ, воспользуйтесь инструкцией по миграции.

Важно: путь к исполняемому файлу, то есть к программе КриптоАРМ — его необходимо указывать перед вводом команды. После указания пути до исполняемого файла необходимо поставить пробел, затем вводить команды. Для краткости во всех примерах ниже используется команда

cryptoarm
.

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

  • КриптоАРМ сборка 7.х.х на Windows: "C:\Program Files\CryptoARM\cryptoarm.exe"
  • КриптоАРМ сборка 6.х.х на Windows: "C:\Program Files\CryptoARM 6\cryptoarm6.exe"
  • КриптоАРМ сборка 7.х.х на Linux: /opt/cryptoarm/cryptoarm
  • КриптоАРМ сборка 6.х.х на Linux: /opt/cryptoarm_6/cryptoarm6

Пример для Windows (КриптоАРМ сборка 7.х.х):

"C:\Program Files\CryptoARM\cryptoarm.exe" certificates

Пример для Linux (КриптоАРМ сборка 7.х.х):

/opt/cryptoarm/cryptoarm certificates

Важно для Windows cmd.exe: кодировка вывода, которая определяет, как символы (буквы, знаки) преобразуются в последовательность байтов для хранения и вывода. Если кодировка вывода в программе и система, которая отображает текст (браузер, терминал), используют разные кодировки, могут возникнуть проблемы. Вместо нормального текста на экране появятся бессмысленные наборы символов.

В обычной командной строке Windows (cmd.exe) по умолчанию используется не Unicode-кодировка. Из-за этого русский текст в выводе КриптоАРМ может отображаться некорректно.

Перед выполнением команд переключите кодовую страницу:

chcp 65001

Примечание: для PowerShell это обычно не требуется, проблема чаще встречается именно в cmd.exe.

Предварительные условия работы с КриптоАРМ с помощью CLI

1. КриптоАРМ сборка 7.х.х установлен.
2. Есть доступ к личным сертификатам в хранилище ОС.
3. Для подписания и расшифрования известен PIN контейнера ключа.

1) Электронное подписание документа с помощью командной строки в КриптоАРМ

При подписании электронного документа вам потребуется серийный номер нужного сертификата:

  1. получите список доступных личных сертификатов с помощью команды cryptoarm certificates
  2. скопируйте серийный номер нужного сертификата и используйте его в параметре --cert

Через командную строку можно подписать один файл или папку файлов присоединённой, отсоединённой, а также встроенной электронной подписью.

Команда: sign

1.1 Подпись одного файла (присоединённая ЭП)

Присоединённая электронная подпись — параметр, выставленный по умолчанию.

cryptoarm sign --cert "<SERIAL_SIGN_CERT>" --source-file ".\in\document.xml" --signed-file-path ".\out\document.xml"

1.2 Подпись папки файлов

Параметр: --source-folder

cryptoarm sign --cert "<SERIAL_SIGN_CERT>" --source-folder ".\in" --folder-save-signed ".\out\signed"

1.3 Отсоединённая подпись

Параметр: --detached

cryptoarm sign --cert "<SERIAL_SIGN_CERT>" --detached --source-file ".\in\report.pdf" --signed-file-path ".\out\report.pdf"

1.4 Подпись с PIN

Параметр: --pin

cryptoarm sign --cert "<SERIAL_SIGN_CERT>" --pin "<PIN>" --source-file ".\in\data.txt" --signed-file-path ".\out\data.txt"

1.5 Встроенная подпись PDF документа (PAdES) с графическим штампом на последней странице

Параметр: --pades

Для подписания PDF файла встроенной подписью с графическим штампом размером 100×30 мм, расположенным в 20 мм от левого и нижнего края последней страницы.

"C:\Program Files\CryptoARM\cryptoarm.exe" sign --source-file "C:\Doc\Пример.pdf" --cert "5883d78e000300093ab6" --pin "12345678" --pades --stamp-width 100 --stamp-height 30 --stamp-padding-left 20 --stamp-padding-bottom 20

При необходимости, расположение и размер штампа, цвет обводки и указанные реквизиты можно изменить.

Для КриптоАРМ, сборка 6.x.x, подготовили статью «Как добавить штамп для электронной подписи PAdES в консольном режиме».

2) Шифрование с помощью командной строки в КриптоАРМ

КриптоАРМ поддерживает шифрование одного или нескольких файлов в адрес одного или нескольких сертификатов через командную строку. Для этого вам понадобится установленный открытый ключ сертификата электронной подписи получателя зашифрованного файла на устройстве.

Команда: encrypt

2.1 Шифрование одного файла для одного получателя

cryptoarm encrypt --cert "<SERIAL_ENCRYPT_CERT>" --source-file ".\in\document.xml" --encrypted-file-path ".\out\document.xml"

2.2 Шифрование файла для нескольких получателей

Параметр: --cert "<SERIAL_1> <SERIAL_2>"

cryptoarm encrypt --cert "<SERIAL_1> <SERIAL_2>" --source-file ".\in\contract.pdf" --encrypted-file-path ".\out\contract.pdf"

2.3 Шифрование папки

Параметр: --source-folder

cryptoarm encrypt --cert "<SERIAL_ENCRYPT_CERT>" --source-folder ".\in" --folder-to-save-encrypted ".\out\encrypted"

3) Проверка электронной подписи с помощью командной строки в КриптоАРМ

Команда: verify

3.1 Проверка подписи файла

cryptoarm verify --source-file ".\out\document.xml.sig"

3.2 Проверка отсоединённой подписи с указанием исходного документа

Параметр: --document

cryptoarm verify --source-file ".\out\report.pdf.sig" --document ".\in\report.pdf"

3.3 Проверка всех подписей в папке

Параметр: --source-folder

cryptoarm verify --source-folder ".\out\signed"

3.4 Сохранение отчёта о проверке в JSON

Параметр: --save-report-json

cryptoarm verify --source-file ".\out\document.xml.sig" --save-report-json ".\out\reports"

3.5 Отчёты проверки в PDF по каждой подписи

Параметр --save-report-pdf создаёт отдельный PDF-отчёт для каждой проверенной подписи.

cryptoarm verify --source-folder ".\out\signed" --save-report-pdf ".\out\reports-pdf"

3.6 Единый PDF-отчёт по всем подписям

Параметр --save-report-pdf-merged создаёт один объединённый PDF-отчёт по всем проверенным подписям.

cryptoarm verify --source-folder ".\out\signed" --save-report-pdf-merged ".\out\reports-pdf-merged"

4) Расшифрование с помощью командной строки в КриптоАРМ

Расшифрование доступно при наличии установленного личного сертификата ЭП. Команда: decrypt

4.1 Расшифрование одного файла

cryptoarm decrypt --source-file ".\out\document.xml.enc" --decrypted-file-path ".\out\document.xml"

4.2 Расшифрование папки

Параметр: --source-folder

cryptoarm decrypt --source-folder ".\out\encrypted" --folder-to-save-decrypted ".\out\decrypted"

4.3 Расшифрование с PIN

Параметр: --pin

cryptoarm decrypt --pin "<PIN>" --source-file ".\out\archive.zip.enc" --decrypted-file-path ".\out\archive.zip"

4.4 Практический пример расшифрования файла с PIN-кодом

"C:\Program Files\CryptoARM\cryptoarm.exe" decrypt --pin "12345678" --source-file "C:\Documents\Encrypted_Example.enc" --decrypted-file-path "C:\Documents\Decrypted_Example.txt"

5) Частый сценарий «подписать, затем зашифровать» с помощью командной строки в КриптоАРМ

cryptoarm sign --cert "<SERIAL_SIGN_CERT>" --source-folder ".\in" --folder-save-signed ".\step1_signed"

cryptoarm encrypt --cert "<SERIAL_ENCRYPT_CERT>" --source-folder ".\step1_signed" --folder-to-save-encrypted ".\out_encrypted"

6) Частый сценарий «расшифровать, затем проверить подпись» с помощью командной строки в КриптоАРМ

cryptoarm decrypt --source-folder ".\in_encrypted" --folder-to-save-decrypted ".\step1_decrypted"

cryptoarm verify --source-folder ".\step1_decrypted"
cryptoarm verify --source-folder ".\step1_decrypted" --save-report-pdf ".\step1_decrypted_reports_pdf"

cryptoarm verify --source-folder ".\step1_decrypted" --save-report-pdf-merged ".\step1_decrypted_reports_pdf_merged"

В этом сценарии:

  • --save-report-pdf создаёт отдельный PDF-отчёт для каждой проверенной подписи.
  • --save-report-pdf-merged создаёт один объединённый PDF-отчёт по всем подписям в папке.

Примечания

1. В отличие от tdhelper командная строка КриптоАРМ сборка 7.х.х не использует профили КриптоАРМ как параметр команды. Вместо этого параметры операции задаются явно флагами.
2. Для URL параметров --tsp и --ocsp в Windows используйте кавычки согласно подсказке --help текущей версии командной строки.
3. Если названия опций в вашей сборке немного отличаются, сверяйтесь с локальной справкой:

  • cryptoarm --help
  • cryptoarm sign --help
  • cryptoarm encrypt --help
  • cryptoarm verify --help
  • cryptoarm decrypt --help

Заключение

Командная строка КриптоАРМ даёт понятный и воспроизводимый способ автоматизации типовых операций с электронной подписью и шифрованием. Шаблоны команд из статьи можно сразу использовать в скриптах, адаптируя пути и серийные номера сертификатов под свою инфраструктуру: подписывать, шифровать, проверять подпись или расшифровать.

Для миграции сценариев с tdhelper.vbs на командную строку достаточно переписать логику в виде последовательности команд sign, encrypt, verify, decrypt и добавить проверку кодов возврата. Если вы планируете внедрять такие сценарии в CI/CD, оркестрацию или интеграцию с 1С‑Битрикс/другими системами, полезно сразу заложить формирование отчётов (JSON/PDF) и централизованное хранение логов.

Если вы заинтересовались управлением программой КриптоАРМ через командную строку, воспользуйтесь информацией в Документации. При возникновении вопросов пишите в онлайн-чат на сайте или на support@trusted.ru.

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

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

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

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

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

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

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

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

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

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