Выполнение операций в командной строке#
Научитесь работать с командной строкой (CLI) КриптоАРМ: подписывать, шифровать, расшифровывать и проверять файлы. В этом руководстве собраны команды и практические примеры для Windows, Linux и macOS.
Содержание:
- Общая информация
- Подпись
- Шифрование
- Кодирование и декодирование файлов
- Список сертификатов
- Расшифрование
- Проверка подписи
- Смотрите также
Общая информация#
CLI (Command Line Interface, интерфейс командной строки) — это способ управления приложением с помощью текстовых команд, вводимых через терминал или консоль.
Команды определяют, какие операции выполнить, с какими параметрами и над какими файлами.
CLI также подходит для автоматизации — выполнения операций без участия пользователя в составе систем обмена и скриптов .bat и .sh.
Важные замечания#
-
Перед использованием CLI убедитесь, что приложение настроено для работы с электронной подписью.
🔍 Подробную информацию о настройке можно найти в инструкции Начало работы.
-
Перед вводом команды необходимо указать путь до исполняемого файла. После указания пути до исполняемого файла необходимо поставить пробел, затем вводить команды.
- Все команды и параметры пишутся через пробел.
Синтаксис команд#
-команда— команда пишется первой, после пути до исполняемого файла. Далее указываются значения переменных и параметры операции.<текст>— указываются значения переменной, такие как Серийный номер сертификата, Путь до исходного файла, OID алгоритма шифрования и т.п.[текст]— необязательные параметры, которые можно как задать, так и не задавать, тогда будут использоваться значения по умолчанию.
Пути к исполняемым файлам#
| Система | Путь при установке по умолчанию |
|---|---|
| Windows | %ProgramFiles%\CryptoARM\cryptoarm.exe |
| Linux | /opt/cryptoarm/cryptoarm |
| macOS | /Applications/cryptoarm.app/Contents/MacOS/cryptoarm |
Подпись#
Команда: sign или sig
Команда позволяет выполнить операцию подписи одного или нескольких файлов.
Если в качестве исходного файла указать уже подписанный документ, то будет добавлена соподпись.
Синтаксис#
sign --cert <serial> [--standard <type>] [--pades] [--visual-copy] [--detached] [--enc <DER|BASE-64>] [--ext <sig|p7s|sgn|sign|bin|pem>] [--pin <PIN>] [--save-copy] [-f, --force] [--logcrypto] [--certification] [--overwrite-original-pdf] [--reason <reason>] [--contact-info <contact-info>] [--location <location>] [--signer-name <name>] [--join-signs <files...>] [--join-signs-folder <folder>] [--stamp-* <value>] [--tsp <tsp-addr> [--ocsp <ocsp-addr>] [--proxy <proxy-address> [--proxy-port <port>] [--proxy-login <login>] [--proxy-password <password>]]] --source-file <file>|--source-folder <folder> --signed-file-path <file>|--folder-save-signed <folder>
Описание команды#
Общие параметры подписи#
| Параметр | Описание | По умолчанию |
|---|---|---|
--cert <serial> | Серийный номер сертификата подписи | — |
--standard <type> | Стандарт подписи CAdES (CAdES-BES, CAdES-T, CAdES-A, CAdES-XLT1) | "CAdES-BES" |
--detached | Создать отделённую подпись | Отключено |
--save-copy | Сохранять копию результата в Архиве | Отключено |
--pin <pin-code> | ПИН-код ключа сертификата | — |
--enc <DER\|BASE-64> | Формат сохранения подписи | "DER" |
--ext <sig\|p7s\|sgn\|sign\|bin\|pem> | Расширение файла подписи | "sig" |
-f, --force | Использовать недействительный сертификат без подтверждения | Отключено |
--logcrypto | Включение лога trusted-crypto | Отключено |
Объединение подписей#
Подробнее про функцию Объединение подписей читайте в инструкции Подпись и шифрование.
| Параметр | Описание | По умолчанию |
|---|---|---|
--join-signs <files...> | Список путей к файлам подписей для объединения (минимум два файла) | — |
--join-signs-folder <folder> | Путь к папке с файлами подписей для объединения | — |
Параметры подписи PDF (PAdES)#
Положение и внешний вид штампа подписи:
| Параметр | Описание | По умолчанию |
|---|---|---|
--pades | Подписать PDF по стандарту PAdES | Отключено |
--visual-copy | Создать визуальную копию PDF со штампом без электронной подписи (печатную форму). Работает только для обычной подписи, несовместим с --pades | Отключено |
--certification | Создать сертифицирующую подпись (фиксирует разрешённые действия с документом) | Отключено |
--overwrite-original-pdf | Перезаписать исходный файл после подписи | Отключено |
--stamp-width <width> | Ширина штампа | — |
--stamp-height <height> | Высота штампа | — |
--stamp-padding-left <padding> | Отступ слева | — |
--stamp-padding-bottom <padding> | Отступ снизу | — |
--stamp-horizontal-align <align> | Выравнивание штампа по горизонтали: left, center, right | center |
--stamp-vertical-align <align> | Выравнивание штампа по вертикали: top, center, bottom | bottom |
--stamp-color <color> | Цвет штампа | #000000 |
--stamp-background-color <color> | Цвет фона штампа | #ffffff |
--stamp-no-background | Прозрачный фон под штамп | Отключено |
--stamp-title <title> | Заголовок штампа вместо стандартного текста (применяется, когда реквизиты отображаются произвольно) | — |
--stamp-page <number> | Страница размещения | Последняя |
--stamp-on-all-pages | Дублировать штамп на всех страницах | Отключено |
--stamp-pixel-ratio <ratio> | Pixel Ratio для рендеринга штампа | 1 |
Содержимое штампа подписи:
| Параметр | Описание | По умолчанию |
|---|---|---|
--stamp-mchd <number> | Добавить номер МЧД в штамп | — |
--stamp-individual | Добавить ФИО владельца сертификата | — |
--stamp-job-position <value> | Добавить должность | — |
--stamp-organization-name <value> | Добавить организацию | — |
--stamp-issuer-friendly-name <value> | Добавить издателя сертификата | — |
--stamp-mark <value> | Добавить примечание | — |
--stamp-description <value> | Добавить описание | — |
--stamp-location <value> | Добавить местоположение | — |
--stamp-sign-time | Добавить дату и время подписи (системное время) | — |
Сведения о подписанте (поля, отображаемые в свойствах подписи Adobe):
| Параметр | Описание | По умолчанию |
|---|---|---|
--reason <text> | Обоснование подписания (Reason) | — |
--contact-info <text> | Контактная информация подписанта (ContactInfo) | — |
--location <text> | Местоположение подписания (Location) | — |
--signer-name <text> | Кем подписан документ (Name). Если не указан, Adobe выводит имя из сертификата | — |
Дата подписания (M) подставляется автоматически и не требует отдельного параметра.
⚠️ Ключ
--overwrite-original-pdfнеобратимо изменяет исходный файл. Используйте его с осторожностью, особенно в скриптах, где путь к файлу контролируется.
Сетевые параметры#
| Параметр | Описание | По умолчанию |
|---|---|---|
--tsp <url> | Адрес службы метки времени TSP | — |
--ocsp <url> | Адрес службы OCSP | — |
--proxy <address> | Адрес прокси-сервера | — |
--proxy-port <port> | Порт прокси | — |
--proxy-login <login> | Логин для прокси | — |
--proxy-password <password> | Пароль для прокси | — |
В Windows адреса служб
--tspи--ocspнужно указывать в одинарных кавычках. Пример:--tsp 'https://example.com/tsp/tsp.srf'.
Ввод и вывод#
| Параметр | Описание | По умолчанию |
|---|---|---|
--source-file <file> | Путь к подписываемому файлу | — |
--source-folder <folder> | Подписать все файлы из папки | — |
--signed-file-path <file> | Путь для результата подписи | — |
--folder-save-signed <folder> | Папка для подписанных файлов | — |
-h, --help | Вывод справки по команде | — |
Практические примеры#
Пример 1: Подпись со стандартным штампом на последней странице#
В этом примере подписывается 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
Внешний вид штампа:

Пример 2: Подпись со штампом красного цвета на всех страницах#
В этом примере подписывается PDF-файл со штампом красного цвета. Штамп размещен в правом нижнем углу на каждой странице документа.
"C:\Program Files\CryptoARM\cryptoarm.exe" sign \
--source-file "C:\Doc\Пример.pdf" \
--cert "5883d78e000300093ab6" \
--pin "12345678" \
--pades \
--stamp-width 80 \
--stamp-height 30 \
--stamp-padding-left 110 \
--stamp-padding-bottom 10 \
--stamp-color "#FF0000" \
--stamp-on-all-pages
Внешний вид штампа:

Пример 2.1: Штамп в левом верхнем углу с синим фоном и белым текстом#
В этом примере штамп размещается в левом верхнем углу первой страницы, с синим фоном и белым текстом.
"C:\Program Files\CryptoARM\cryptoarm.exe" sign \
--source-file "C:\Doc\Пример.pdf" \
--cert "5883d78e000300093ab6" \
--pin "12345678" \
--pades \
--stamp-page 1 \
--stamp-horizontal-align left \
--stamp-vertical-align top \
--stamp-padding-left 10 \
--stamp-padding-bottom 10 \
--stamp-background-color "#0000ff" \
--stamp-color "#ffffff"
Пример 2.2: Визуальная копия PDF (печатная форма) при подписании#
В этом примере обычная подпись (без PAdES) дополняется визуальной копией PDF со штампом. Визуальная копия сохраняется рядом с исходным файлом под именем <имя>_штамп.pdf.
"C:\Program Files\CryptoARM\cryptoarm.exe" sign \
--source-file "C:\Doc\Пример.pdf" \
--cert "5883d78e000300093ab6" \
--pin "12345678" \
--visual-copy \
--stamp-title "ДОКУМЕНТ ПОДПИСАН" \
--stamp-color "#0000ff"
ℹ️ Параметр
--visual-copyнесовместим с--pades: визуальная копия создаётся только для обычной подписи.
Пример 3: Подпись документа с меткой времени#
В этом примере подписывается файл со стандартом CAdES-T, который включает метку времени. Файл будет сохранен в формате .p7s с кодировкой BASE-64. Копия файла будет помещена в папку Архив раздела Документы.
"C:\Program Files\CryptoARM\cryptoarm.exe" sign \
--source-file "C:\Documents\Example.pdf" \
--cert "5883d78e000300093ab6" \
--pin "12345678" \
--standard "CAdES-T" \
--tsp "https://example.com/tsp/tsp.srf" \
--enc "BASE-64" \
--ext "p7s" \
--save-copy \
Шифрование#
Команды: encrypt или enc
Команда позволяет выполнить шифрование одного или нескольких файлов в адрес одного или нескольких сертификатов.
Синтаксис#
encrypt --cert <serial...> [--alg <alg-oid>] [--delete-source] [--save-copy] [--ext <enc|p7m|p7e|pem>] [--enc <DER|BASE-64>] [-f, --force] [--logcrypto] [--decode <infile> [outfile]] [--encode <infile> [outfile]] --source-file <file>|--source-folder <folder> --encrypted-file-path <file>|--folder-save-encrypted <folder>
Описание команды#
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
--cert <serial...> | Серийный номер сертификата подписи (можно указать несколько) | — |
--alg <alg-oid> | OID алгоритма шифрования | "1.2.643.2.2.21" |
--delete-source | Удаление исходного файла после шифрования | Отключено |
--save-copy | Сохранение копии результата в Архиве | Отключено |
--ext <enc\|p7m\|p7e\|pem> | Расширение создаваемого шифрованного файла | "enc" |
--enc <DER\|BASE-64> | Кодировка шифруемого файла | "DER" |
--logcrypto | Включает лог trusted-crypto | Отключено |
-f, --force | Автоматическое согласие на использование недействительных сертификатов | Отключено |
--source-file <path-file> | Путь к файлу для шифрования | — |
--encrypted-file-path <path-file> | Путь к файлу для сохранения результата шифрования | — |
--folder-save-encrypted <path-folder> | Путь к папке для сохранения зашифрованных файлов | — |
--source-folder <path-folder> | Путь к папке с файлами для шифрования | — |
-h, --help | Вывод справки по команде | — |
Практический пример#
В этом примере шифруется файл Example.txt с использованием сертификата с серийным номером 5883d78e000300093ab6. Результат шифрования будет сохранен в файл Encrypted_Example.enc. Исходный файл будет удален, а копия зашифрованного файла сохранится в папку Архив раздела Документы.
"C:\Program Files\CryptoARM\cryptoarm.exe" encrypt \
--cert "5883d78e000300093ab6" \
--enc "DER" \
--alg "1.2.643.2.2.21" \
--delete-source \
--ext "enc" \
--save-copy \
--source-file "C:\Documents\Example.txt" \
--encrypted-file-path "C:\Documents\Encrypted_Example.enc"
Кодирование и декодирование файлов#
Для команд sign, encrypt и certificates доступны параметры кодирования и декодирования файлов. Параметры позволяют преобразовать бинарные данные в текстовый формат BASE64 (PEM) и обратно.
| Команда | Тип файла для кодирования/декодирования |
|---|---|
sign | Файлы подписи |
encrypt | Файлы сертификатов или запросов на сертификат |
certificates | Файлы сертификатов или запросов на сертификат |
| Параметр | Описание |
|---|---|
--decode <infile> [outfile] | Декодирование файла из формата DER в PEM (BASE-64). |
--encode <infile> [outfile] | Кодирование файла из формата PEM (BASE-64) в DER. |
Кодирование удобно использовать, если необходимо передать файл в текстовом виде, например через системы, которые не поддерживают передачу бинарных данных.
- Параметр
<infile>— путь к входному файлу. - Параметр
<outfile>— путь к файлу результата (необязательный; если не указан, суффикс_decodedили_encodedдобавляется к имени исходного файла перед его расширением, и результат сохраняется в той же папке). Указывается после параметра--decodeили--encode.
Список сертификатов#
Команда: certificates или cer
Команда выводит список личных сертификатов, установленных в хранилище MY.
| Параметр | Описание |
|---|---|
--logcrypto | Включает лог trusted-crypto |
--decode <infile> [outfile] | Декодирование файла сертификата или запроса из формата DER в PEM |
--encode <infile> [outfile] | Кодирование файла сертификата или запроса из формата PEM в DER |
-h, --help | Вывод справки по команде |
Подробнее о параметрах --decode и --encode читайте в разделе Кодирование и декодирование файлов.
Практический пример#
Расшифрование#
Команды: decrypt или dec
Команда позволяет выполнить расшифрование одного или нескольких зашифрованных файлов.
Синтаксис#
decrypt [--pin <PIN>] [--save-copy] [--logcrypto] --source-file <file>|--source-folder <folder> --decrypted-file-path <file>|--folder-save-decrypted <folder>
Описание команды#
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
--save-copy | Сохранение копии результата в Архиве | Отключено |
--logcrypto | Включает лог trusted-crypto | Отключено |
--pin <pin-code> | Пин-код ключа расшифрования | - |
--source-file <path-file> | Путь к файлу для расшифрования | - |
--source-folder <path-folder> | Путь к папке с файлами для расшифрования | - |
--decrypted-file-path <path-file> | Путь для сохранения расшифрованного файла | - |
--folder-save-decrypted <path-folder> | Путь к папке для сохранения результатов расшифрования | - |
-h, --help | Вывод справки по команде | - |
Практический пример#
В этом примере расшифровывается файл Encrypted_Example.enc. Для сертификата шифрования используется ПИН-код 12345678. Расшифрованный результат сохраняется в C:\Documents\.
"C:\Program Files\CryptoARM\cryptoarm.exe" decrypt \
--pin "12345678" \
--source-file "C:\Documents\Encrypted_Example.enc" \
--decrypted-file-path "C:\Documents\Decrypted_Example.txt"
Проверка подписи#
Команды:
verifyилиver— проверка одной или нескольких подписей.verify_tsилиvts— проверка штампов времени из подписи.
Команда позволяет выполнить проверку одной или нескольких подписей, либо штампов времени в файле подписи. Есть возможность сохранения отчёт о проверке в отдельный файл в формате pdf или json.
Синтаксис#
verify [--document <original-file>] [-r-pdf [report-folder]] [-r-pdf-m [report-folder]] [-r-json [report-file-path]] [-u, --unsign [output-folder-path]] [--visual-copy] [--logcrypto] --source-file <file>|--source-folder <folder>
verify_ts [--document <original-file>] [-r, --save-report [report-file]] [--logcrypto] --source-file <file>|--source-folder <folder>
Описание команды#
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
-r-pdf, --save-report-pdf [report-folder] | Сохранение копии результата в формате PDF | — |
-r-pdf-m, --save-report-pdf-merged [report-folder] | Сохранение копии результата в формате PDF (объединённый файл) | — |
-r-json, --save-report-json [report-file-path] | Сохранение копии результата в формате JSON | — |
--document <original-file> | Указание исходного файла для откреплённой подписи | — |
--visual-copy | Создать визуальную копию PDF-документа со штампом без электронной подписи (печатную форму). Работает для файлов обычной подписи .sig/.p7s/.sgn/.sign (как присоединённой, так и откреплённой) | Отключено |
--logcrypto | Включение логирования trusted-crypto | Отключено |
--source-file <source-file-path> | Указание файла подписи для проверки | — |
--source-folder <source-folder-path> | Указание папки для пакетной проверки подписей | — |
-u, --unsign [output-folder-path] | Извлечение исходного документа из подписанного файла | — |
-h, --help | Вывод справки по команде | — |
💡 Совет: Если не указывать папку для отчёта (
-r-pdf,-r-pdf-m) или файл для JSON-отчёта (-r-json), отчёт сохранится в папку с проверяемыми файлами.💡 Совет: Чтобы посмотреть список параметров команды проверки штампов времени, используйте команду
verify_ts --help.
Параметры штампа визуальной копии (для --visual-copy)#
При использовании --visual-copy доступны те же параметры штампа, что и для подписи PDF:
| Параметр | Описание | По умолчанию |
|---|---|---|
--stamp-width <width> | Ширина штампа | — |
--stamp-height <height> | Высота штампа | — |
--stamp-padding-left <padding> | Отступ слева | — |
--stamp-padding-bottom <padding> | Отступ снизу | — |
--stamp-horizontal-align <align> | Выравнивание по горизонтали: left, center, right | center |
--stamp-vertical-align <align> | Выравнивание по вертикали: top, center, bottom | bottom |
--stamp-color <color> | Цвет штампа | #000000 |
--stamp-background-color <color> | Цвет фона штампа | #ffffff |
--stamp-no-background | Прозрачный фон | Отключено |
--stamp-title <title> | Заголовок штампа вместо стандартного текста | — |
--stamp-page <number> | Страница размещения | Последняя |
--stamp-on-all-pages | Дублировать штамп на всех страницах | Отключено |
--stamp-pixel-ratio <ratio> | Pixel Ratio для рендеринга штампа | 1 |
--stamp-mchd <number> | Добавить номер МЧД в штамп | — |
--stamp-individual | Добавить ФИО владельца сертификата | — |
--stamp-job-position <value> | Добавить должность | — |
--stamp-organization-name <value> | Добавить организацию | — |
--stamp-issuer-friendly-name <value> | Добавить издателя сертификата | — |
--stamp-mark <value> | Добавить примечание | — |
--stamp-description <value> | Добавить описание | — |
--stamp-location <value> | Добавить местоположение | — |
--stamp-sign-time | Добавить дату и время подписи (системное время) | — |
Практический пример#
В этом примере выполняется проверка подписи файлов в папке C:\Foldername с сохранением отчета о проверке в формате pdf в папку с проверяемыми файлами.
Пример: Визуальная копия при проверке подписи#
В этом примере по присоединённой подписи Пример.pdf.sig создаётся визуальная копия PDF со штампом на первой странице. Визуальная копия сохраняется рядом с файлом подписи под именем Пример_штамп.pdf.
"C:\Program Files\CryptoARM\cryptoarm.exe" verify \
--source-file "C:\Doc\Пример.pdf.sig" \
--visual-copy \
--stamp-page 1 \
--stamp-background-color "#0000ff" \
--stamp-color "#ffffff" \
--stamp-horizontal-align left \
--stamp-vertical-align top
Для откреплённой подписи дополнительно укажите исходный документ:
"C:\Program Files\CryptoARM\cryptoarm.exe" verify \
--source-file "C:\Doc\Пример.sig" \
--document "C:\Doc\Пример.pdf" \
--visual-copy
Смотрите также#
- Активация лицензии — инструкции по активации лицензий КриптоАРМ и КриптоПро CSP.
- Подпись и шифрование — руководство по созданию электронных подписей и шифрованию файлов.
- Проверка и расшифрование — проверка подписей и расшифрование документов.
- Подпись и защита PDF — мастер для работы с PDF: просмотр, разметка областей, добавление подписей и сертифицирующая подпись.