Команда diagnostics#
Запросы на диагностику рабочего места#
Команда diagnostics используется для диагностики рабочего места пользователя. Схема взаимодействия:ката или списка сертификатов, а импорта сертификата в локальное хранилище, просмотра информации о сертификате.

Формат ссылки#
Для выполнения команды diagnostics должна быть сформирована ссылка вида:
-
cryptoarm://- зарегистрированный протокол -
diagnostics- выполняемая команда -
<URL>- ссылка, на которую КриптоАРМ будет слать запросы -
id- уникальный идентификатор транзакции
Пример:
Общее#
Все запросы между КриптоАРМ и сервером ДОЛЖНЫ соответствовать спецификации протокола JSON-RPC 2.0.
В качестве транспорта используется HTTP.
Общее описание указано в разделе Формат ссылки.
Получение параметров операции#
После получения команды diagnostics КриптоАРМ отправляет запрос на получение параметров операции.
Формат запроса#
| Ключ | Значение | Описание |
|---|---|---|
| jsonrpc | «2.0» | Версия JSON-RPC протокола. Всегда «2.0». |
| method | diagnostics.parameters | Используемый метод. Всегда diagnostics.parameters. |
| id | Уникальный идентификатор | Используется идентификатор, который указан в ссылке на операцию. Подробнее в разделе Формат ссылки |
| diagnostic | IDiagnosticInformaton | Диагностическая информация о рабочем месте |
Пример:
Формат ответа#
| Ключ | Значение | Описание |
|---|---|---|
| jsonrpc | «2.0» | Версия JSON-RPC протокола. Всегда «2.0». |
| result | IDiagnosticsParameters | Объект со сведениями о параметрах операции |
| id | Уникальный идентификатор | Используется идентификатор, который указан в ссылке на операцию. Подробнее в разделе Формат ссылки |
Пример ответа:
Отправка сведений о рабочем месте#
Полученные сведения отправляется POST запросом. Используются нотификации (уведомления), для которых не требуется ответ сервера.
Формат запроса#
| Ключ | Значение | Описание |
|---|---|---|
| jsonrpc | «2.0» | Версия JSON-RPC протокола. Всегда «2.0». |
| method | diagnostics.information | Используемый метод. Всегда diagnostics.information. |
| params | IDiagnosticsInformation | Сведения о рабочем месте |
Пример:
Интерфейс IDiagnosticsParameters#
Объекты данного типа описывают вид операции и её параметры.
| Свойство | Тип | Описание |
|---|---|---|
| operation | string | Тип операции. Доступные значения типа: `IDiagnosticOperation |
| props | IDiagnosticsOperationProps | Параметры операции |
Тип IDiagnosticOperation#
Возможные операции.
| Значение | Описание |
|---|---|
| SYSTEMINFORMATION | Сведения о системе |
| CSP_ENABLED | Наличие КриптоПро CSP |
| CADES_ENABLED | Доступность CADES |
| VERSIONS | Версии используемых компонентов (КриптоАРМ, КриптоПро) |
| PROVIDERS | Список криптопровайдеров |
| LICENSES | Статус лицензий |
| PERSONALCERTIFICATES | Наличие личных сертификатов |
Интерфейс IDiagnosticsOperationProps#
Интерфейс IDiagnosticsOperationProps описывает параметры операции.
| Свойство | Тип | Описание |
|---|---|---|
| headerText? | string | Необязательный параметр. Используется для отображения в заголовке окна. Максимальная длина - 40 символов. |
| descriptionText? | string | Необязательный параметр. Используется для отображения в сведениях об операции. Максимальная длина - 120 символов. |
Интерфейс IDiagnosticsInformation#
Объекты данного типа описывают объекты, содержащие сведения о рабочем месте.
| Свойство | Тип | Описание |
|---|---|---|
| id | string | Идентификатор транзакции |
| API_VERSION | string | Версия поддерживаемого КриптоАРМ API |
| 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 | Версия КриптоАРМ |
Интерфейс IProviders#
Объекты данного типа описывают доступность ГОСТ-провайдеров.
| Свойство | Тип | Описание |
|---|---|---|
| GOST2012_256 | boolean | ГОСТ 2012-256 |
| GOST2012_512 | boolean | ГОСТ 2012-512 |
Интерфейс ILicenses#
Объекты данного типа описывают статусы лицензии КриптоАРМ и КритпоПро CSP.
| Свойство | Тип | Описание |
|---|---|---|
| csp | ILicenseInfo | Сведения о лицензии на КриптоПро CSP |
| cryptoarm | ILicenseInfo | Сведения о лицензии на КриптоАРМ |
Интерфейс ILicenseInfo#
Объекты данного типа описывают сведения о лицензии компонента.
| Свойство | Тип | Описание |
|---|---|---|
| status | boolean | Действительна или нет лицензия |
| type | LicenseType | Тип лицензии |
| expiration? | string | Необязательный параметр. Дата истечения лицензии для трилальных лицензий или подписок (в формате UTC). |
LicenseType Enum#
Данное перечисление описывает возможные типы лицензий.
| Значение | Описание |
|---|---|
| Permanent | Постоянная |
| Subscription | Подписка |
| Daily | Дневная |
| Trial | Триальная |