Команда diagnostics — описание и примеры#
Команда diagnostics позволяет выполнять полную диагностику рабочего места пользователя через API КриптоАРМ. С её помощью можно получить сведения о системе, установленных компонентах и лицензиях. Все операции поддерживаются через HTTP и строго соответствуют спецификации JSON-RPC 2.0.
Содержание:
- Общая информация
- Формат ссылки
- Получение параметров операции
- Отправка сведений о рабочем месте
- Справочник интерфейсов
Общая информация#
Команда diagnostics используется для диагностики рабочего места пользователя.

Все запросы между КриптоАРМ и сервером ДОЛЖНЫ соответствовать спецификации протокола JSON-RPC 2.0.
В качестве транспорта используется HTTP.
🔍 Общее описание указано в разделе Формат ссылки.
Для доверенных сервисов с включённым фоновым режимом диагностики (
diagnosticBackgroundMode) окно подтверждения не отображается; диагностика выполняется автоматически.
Формат ссылки#
Для выполнения команды diagnostics должна быть сформирована ссылка вида:
cryptoarm://- зарегистрированный протоколdiagnostics- выполняемая команда<URL>- ссылка, на которую КриптоАРМ будет слать запросыid- уникальный идентификатор транзакцииauthType- необязательный параметр. Тип аутентификации.
Пример:
Получение параметров операции#
После получения команды diagnostics КриптоАРМ отправляет запрос на получение параметров операции.
Удалённый запрос содержит поле
diagnostic(пустой объект), а неdiagnostics(как в других командах).
Формат запроса#
| Ключ | Значение | Описание |
|---|---|---|
| jsonrpc | «2.0» | Версия JSON-RPC протокола. Всегда «2.0». |
| method | diagnostics.parameters | Используемый метод. Всегда diagnostics.parameters. |
| id | Уникальный идентификатор | Используется идентификатор, который указан в ссылке на операцию. |
| diagnostic | {} | Пустой объект (зарезервировано). |
Пример:
Формат ответа#
| Ключ | Значение | Описание |
|---|---|---|
| jsonrpc | «2.0» | Версия JSON-RPC протокола. Всегда «2.0». |
| result | IDiagnosticsParameters | Объект со сведениями о параметрах операции |
| id | Уникальный идентификатор | Используется идентификатор, который указан в ссылке на операцию. |
Пример ответа с локальными параметрами:
Отправка сведений о рабочем месте#
Полученные сведения отправляются POST-запросом.
Формат запроса#
| Ключ | Значение | Описание |
|---|---|---|
| jsonrpc | «2.0» | Версия JSON-RPC протокола. Всегда «2.0». |
| method | diagnostics.information | Используемый метод. |
| params | IDiagnosticsInformation | Сведения о рабочем месте. id — идентификатор транзакции из исходного запроса. |
Пример:
Справочник интерфейсов#
Интерфейс IDiagnosticsParameters#
Объекты данного типа описывают вид операции и её параметры.
| Свойство | Тип | Описание |
|---|---|---|
| operation | string[] | Массив типов диагностических операций. Доступные значения см. Тип IDiagnosticOperation. |
| props | IDiagnosticsOperationProps | Параметры операции |
Тип IDiagnosticOperation#
Возможные операции диагностики.
| Значение | Описание |
|---|---|
| SYSTEMINFORMATION | Сведения о системе |
| CSP_ENABLED | Наличие КриптоПро CSP |
| CADES_ENABLED | Доступность CADES |
| VERSIONS | Версии используемых компонентов (КриптоАРМ, КриптоПро, OpenSSL) |
| PROVIDERS | Список криптопровайдеров |
| LICENSES | Статус лицензий |
| PERSONALCERTIFICATES | Наличие личных сертификатов |
Интерфейс IDiagnosticsOperationProps#
Интерфейс IDiagnosticsOperationProps описывает параметры операции.
| Свойство | Тип | Описание |
|---|---|---|
| headerText? | string | Необязательный параметр. Используется для отображения в заголовке окна. Максимальная длина - 40 символов. |
| descriptionText? | string | Необязательный параметр. Используется для отображения в сведениях об операции. Максимальная длина - 120 символов. |
| localResultParams? | { savePath: string } | Необязательный параметр. Только для локального API. Путь к файлу для сохранения результатов диагностики. |
Интерфейс IDiagnosticsInformation#
Объекты данного типа описывают сведения о рабочем месте, отправляемые обратно на сервер.
| Свойство | Тип | Описание |
|---|---|---|
| id | string | Идентификатор транзакции |
| SYSTEMINFORMATION | ISystemInformation | Сведения о системе |
| CSP_ENABLED | boolean | Установлен или нет КриптоПро CSP |
| CADES_ENABLED | boolean | Доступность CADES |
| VERSIONS | IVersions | Версии компонентов |
| PROVIDERS | IProviders | Сведения о провайдерах |
| LICENSES | ILicenses | Сведения о лицензиях |
| PERSONALCERTIFICATES | ICertificateIdentityInfo[] | Список личных сертификатов |
Интерфейс ISystemInformation#
Объекты данного типа содержат сведения о системе пользователя.
| Свойство | Тип | Описание |
|---|---|---|
| type | string | Тип системы. Возможные значения: Linux, Darwin, Windows_NT. |
| arch | string | Архитектура операционной системы. Возможные значения: arm, arm64, ia32, mips, mipsel, ppc, ppc64, s390, s390x, x32, x64. |
| platform | string | Имя платформы. Возможные значения: aix, darwin, freebsd, linux, openbsd, sunos, win32. |
| packageType? | string | Необязательный параметр. Тип поддерживаемого пакета (инсталлятора). Возможные значения: msi, pkg, rpm, deb. |
Интерфейс IVersions#
Объекты данного типа содержат сведения о версиях.
| Свойство | Тип | Описание |
|---|---|---|
| csp | string | Версия КриптоПро CSP |
| cryptoarm | string | Версия КриптоАРМ |
| openssl | string | Версия OpenSSL |
Интерфейс IProviders#
Объекты данного типа описывают доступность ГОСТ-провайдеров.
| Свойство | Тип | Описание |
|---|---|---|
| GOST2012_256 | boolean | ГОСТ 2012-256 |
| GOST2012_512 | boolean | ГОСТ 2012-512 |
| openssl | boolean | Открытая криптография |
Интерфейс ILicenses#
Объекты данного типа описывают статусы лицензии КриптоАРМ и КриптоПро CSP.
| Свойство | Тип | Описание |
|---|---|---|
| csp | ILicenseInfo | Сведения о лицензии на КриптоПро CSP |
| cryptoarm | ILicenseInfo | Сведения о лицензии на КриптоАРМ |
Интерфейс ILicenseInfo#
Объекты данного типа описывают сведения о лицензии компонента.
| Свойство | Тип | Описание |
|---|---|---|
| status | boolean | Действительна или нет лицензия |
| type | string | Тип лицензии. Возможные значения: Permanent, Subscription, Daily, Trial. |
| expiration? | string | Необязательный параметр. Дата истечения лицензии для триальных лицензий или подписок (UTC). |