Выполнение операций в командной строке или терминале - Документация для КриптоАРМ 6

Выполнение операций в командной строке или терминале

В данном разделе описана инструкция по выполнению криптографических операций с помощью командной строки (для Windows) и терминала (для Unix-подобных операционных систем).

Важно: подпись документов возможна только при наличии лицензии.

Важно: для подписи документов на рабочем месте необходим установленный криптопровайдер КриптоПро CSP и лицензия на него.

Для выполнения команд в консоли необходимо придерживаться определенного синтаксиса при написании команды. Описание:

  • -команда — команда пишется первой, после пути до исполняемого файла. Далее указываются значения переменных и параметры операции.
  • <текст> — указываются значения переменной, такие как Серийный номер сертификата, Путь до исходного файла, OID алгоритма шифрования и т.п.
  • [текст] — в квадратных скобках пишутся необязательные параметры, которые можно как задать, так и не задавать, тогда будут использоваться значения по умолчанию.

Все команды и параметры пишутся через пробел.

Перед вводом команды необходимо указать путь до исполняемого файла. После указания пути до исполняемого файла необходимо поставить пробел, затем вводить команды.

В зависимости от ОС путь до исполняемого файла может отличаться:

  • В ОС Windows: "C:\Program Files\CryptoARM>cryptoarm.exe".
  • В Unix-подобных ОС семейства Linux: /opt/cryptoarm/cryptoarm.
  • На ОС MacOS: /Applications/cryptoarm.app/Contents/MacOS/cryptoarm.

Для получения справки по операциям можно выполнить команды:

  • cryptoarm.exe --h — выводится полная справка по всем командам;
  • cryptoarm.exe enc -h — выводится справка по команде шифрования;
  • cryptoarm.exe dec -h — выводится справка по команде расшифрования;
  • cryptoarm.exe sig -h — выводится справка по команде подписи;
  • cryptoarm.exe ver -h — выводится справка по команде проверки подписи.

Операция Подпись

sign или sig

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

Пример выполнения команды:

cryptoarm.exe sign --cert <серийный номер сертификата> [--enc DER|BASE64] [-detached] [--save-copy] [--pin <PIN>] [-ext <sign file extension>] [--standard <CAdES-T|CAdES-A|CAdES-XLT1> --tsp <tsp-addr> [-ocsp <ocsp-addr>] [-proxy <proxy-address> [-proxy-port <port>] [-proxy-login <login>] [-proxy-password <password>]]] --source-file <путь к файлу>|--source-folder <путь к папке>

Описание команды:

  • -cert — команда для указания сертификата подписи;
  • -detached — указать, что подпись должна быть отсоединенная. По умолчанию используется присоединенная подпись;
  • --enc DER|BASE-64 — указать в какой кодировке будет сохранен подписанный файл. По умолчанию используется кодировка DER;
  • -save-copy — копия результата будет сохранена в папку Архив;
  • --pin <PIN> — указать пароль на контейнер сертификата;
  • --ext <sign file extension> — указать расширение создаваемого файла подписи. Расширение по умолчанию "sig", можно указать расширения “sgn”, “sign”. “p7s”, “bin”;
  • --sign-type <CadesT|CadesA|CadesXLT1> — указать стандарт подписи. Если параметр не указан то создаётся подпись стандартом CAdES-BES. Если выбран CadesT, CadesXLT1 или CadesA, то обязательно требуется указать адрес службы TSP;
  • -tsp <tsp-addr> — указать адрес службы TSP;
  • -ocsp <ocsp-addr> — указать адрес службы OCSP;
  • -proxy <proxy-address> — использовать прокси-сервер, при подписи стандартами CadesT/CadesXLT1/CadesA;
  • -proxy-port <port> — указать порт для прокси-сервера;
  • -proxy-login <login> — указать логин для прокси-сервера;
  • -proxy-password <password> — указать пароль для логина прокси-сервера;
  • --source-file <путь к файлу> — указать путь до исходного файла. Результат будет сохранен рядом с исходным файлом;
  • --source-folder <путь к папке> — указать путь к папке, в которой подпишутся все файлы. Результат будет сохранен в этой же папке.

Операция Шифрование

encrypt или enc

Команда позволяет выполнить шифрование одного или нескольких файлов в адрес одного или нескольких сертификатов.

Пример выполнения команды:

cryptoarm.exe encrypt --cert <серийный номер сертификата> [--enc DER|BASE64] [--alg <alg-oid>] [--delete-source] [--save-copy] [--ext <encrypted file extension>] --source-file <путь к файлу>|--source-folder <путь к папке> --encrypted-file-path <путь к файлу c новым именем для сохранения результата>|--folder-save-encrypted <путь к папке для сохранения результата>

Описание команды:

  • -cert — команда для указания сертификата шифрования. При шифровании в адрес нескольких получателей, необходимо указать несколько серийных номеров через запятую;
  • --enc DER|BASE-64 — указать в какой кодировке будет сохранен зашифрованный файл. По умолчанию используется кодировка DER;
  • --alg <alg-oid> — указать OID алгоритма шифрования. Значение по умолчанию 1.2.643.7.1.1.5.1 (ГОСТ Р 34.12-2015 Магма). Для алгоритма Кузнечик указывается OID 1.2.643.7.1.1.5.2.1;
  • -delete-source — удаление исходного файла после шифрования;
  • --save-copy — копия результата будет сохранена в папку Архив;
  • --source-file <путь к файлу> — указать путь до исходного файла. Результат будет сохранен рядом с исходным файлом;
  • --source-folder <путь к папке> — указать путь к папке, в которой зашифруются все файлы. Результат будет сохранен в этой же папке;
  • --encrypted-file-path <путь к файлу с новым именем> — указать путь к файлу, в который будет сохранен результат шифрования;
  • --folder-save-encrypted <путь к папке для сохранения результата> — указать путь к папке, в которую будут сохранены результаты шифрования (имя создается автоматически с расширением .enc).

Операция Расшифрование

decrypt или dec

Команда позволяет выполнить расшифрование одного или нескольких зашифрованных файлов.

Пример выполнения команды:

cryptoarm.exe decrypt [--pin <PIN>] [--save-copy] --source-file <путь к зашифрованному файлу>|--source-folder <путь к папке> --encrypted-file-path <путь к файлу c новым именем для сохранения результата>|--folder-save-encrypted <путь к папке для сохранения результата>

Описание команды:

  • --pin <PIN> — указать пароль на контейнер сертификата расшифрования;
  • --save-copy — копия результата будет сохранена в папку Архив;
  • --source-file <путь к файлу> — указать путь до зашифрованного файла, который необходимо расшифровать;
  • --source-folder <путь к папке> — указать путь к папке, в которой будут расшифрованы все файлы с расширением .enc;
  • --encrypted-file-path <путь к файлу с новым именем> — указать путь к файлу, в который будет сохранен результат расшифрования;
  • --folder-save-encrypted <путь к папке для сохранения результата> — указать путь к папке, в которую будут сохранены результаты расшифрования (имя создается автоматически без расширения .enc).

Операция Проверка подписи

verify или ver

Команда позволяет выполнить проверку подписи одного или нескольких файлов.

Пример выполнения команды:

cryptoarm.exe verify --source-file <путь к файлу>|--source-folder <путь к папке> --document <путь к исходному файлу отсоединенной подписи> --logcrypto

Описание команды:

  • --source-file <путь к файлу> — указать путь до подписанного файла с расширением .sig, .sign, .sgn, .p7s, .bin;
  • --source-folder <путь к папке> — указать путь к папке, в которой будет проверена подпись всех файлов с расширениями .sig, .sign, .sgn, .p7s, .bin;
  • --document — указать исходный файл для отсоединенной подписи;
  • --logcrypto — включить логирование.