Описание API КриптоАРМ - Документация для КриптоАРМ 6
Перейти к содержанию

Описание API КриптоАРМ

КриптоАРМ поддерживает API с двумя возможными точками вызова локальное приложение на рабочем месте и web-приложение (сервис).

При вызове операции через API КриптоАРМ будет запущен и отобразит необходимый раздел с переданными параметрами. Команду можно ввести через адресную строку браузера (вы можете размещать их так же, как ссылки на веб-страницы) или в терминале.

Для взаимодействия используется зарегистрированный протокол cryptoarm://

Доступные команды:

Команда Описание
signAndEncrypt выполнение криптографических операций над документами (подпись, шифрование, проверка подписи, расшифрование)
certificates экспорт или импорт сертификатов, просмотр свойств сертификата
certrequests генерация запросов на сертификат
diagnostics диагностика рабочего места
startView открыть окно или вкладку
mail действия с электронными письмами

Cценарий выполнения команд (для взаимодействия с web-приложениями)

  1. Пользователь заходит на портал (web-приложение).
  2. Выбирает объекты (например список документов) и действие (например подпись).
  3. Портал генерирует и отображает (или сразу переходит) ссылку с протоколом cryptoarm://
  4. Если КриптоАРМ не запущен, то запускается. Затем обращается к порталу за JSON с набором параметров, нужных для выполнения конкретной операции. JSON генерируется на сервере, где располагается web-приложение.
  5. Полученный JSON обрабатывается и в зависимости от команды выполняются нужные дополнительные запросы к web-приложению.
  6. Пользователь подтверждает саму запрошенную операцию (остальной функционал приложения блокируется).
  7. Результаты отправляются на сервер.

Cценарий выполнения команд (для взаимодействия с локальным приложением)

  1. Пользователь открывает стороннее приложение, в котором есть поддержка КриптоАРМ API.
  2. Выбирает объекты (например список документов) и действие (например подпись).
  3. Приложение генерирует объект (JSON) и передает на исполнение параметром в КриптоАРМ.
  4. Если КриптоАРМ не запущен, то запускается. Затем обращается к порталу за JSON с набором параметров, нужных для выполнения конкретной операции. JSON генерируется на сервере, где располагается web-приложение.
  5. Полученный JSON обрабатывается.
  6. Пользователь подтверждает саму запрошенную операцию (остальной функционал приложения блокируется).
  7. Результаты сохраняются в локальную папку, переданную в параметрах операции.

Формат ссылки для web КриптоАРМ API

cryptoarm://<command>/<URL>/?id=<id>
  • cryptoarm:// - зарегистрированный протокол

  • <command> - выполняемая команда

  • <URL> - ссылка на получение JSON с параметрами, нужными для выполнения команды

  • ?id=<id> - обязательный параметр. Идентификатор транзакции.


Формат ссылки для локального варианта КриптоАРМ API

Вариант 1:

cryptoarm://<command>/<URI>
  • cryptoarm:// - зарегистрированный протокол

  • <command> - выполняемая команда

  • <URI> - путь к файлу JSON с параметрами, нужными для выполнения команды

Вариант 2:

cryptoarm://<command>/<JSON>
  • cryptoarm:// - зарегистрированный протокол

  • <command> - выполняемая команда

  • <JSON> - JSON с параметрами, нужными для выполнения команды

Описание запросов и ответов

Все запросы между КриптоАРМ и сервером ДОЛЖНЫ соответствовать спецификации протокола JSON-RPC 2.0.

В качестве транспорта используется HTTP. Должен использоваться TLS, незащищенные соединения КриптоАРМ отклоняет.

При включенной настройке «Использовать только набор алгоритмов ГОСТ для подключений по API» КриптоАРМ будет принимать только ГОСТ TLS, остальные шифросюиты будут отклоняться.


POST-запрос

КриптоАРМ выполняет HTTP POST-запросы, которые содержат заголовки:

  • Content-Type: должен быть application/json.
  • Content-Length: должен содержать правильную длину в соответствии с HTTP-спецификацией.
  • Accept: должен быть application/json.

GET-запрос

Не используются.


Ответ

HTTP-ответ сервера должен содержать заголовки:

  • Content-Type: должен быть application/json.
  • Content-Length: должен содержать правильную длину в соответствии с HTTP-спецификацией.

Объект Error

В случае ошибки сервер должен отправить ответ следующей структуры:

Ключ Тип Описание
code number Код ошибки
message string Короткое описание ошибки
data string/Object Необязательное поле. Может содержать дополнительные сведения об ошибке.

HTTP-коды

Код Ошибка Описание
200 OK И для ответов, и для ошибок
204 No Response Для пустых запросов (нотификация)
405 Method Not Allowed Метод не доступен
415 Unsupported Media Type Если Content-Type не application/json

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