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

Команда diagnostics

Запросы на диагностику рабочего места

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

Схема

Формат ссылки

Для выполнения команды diagnostics должна быть сформирована ссылка вида:

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

  • diagnostics - выполняемая команда

  • <URL> - ссылка, на которую КриптоАРМ будет слать запросы

  • id - уникальный идентификатор транзакции

Пример:

cryptoarm://diagnostics/https://example.com/json?id=2c48eb32-a0a8-405c-ade9-eed130605cba

Общее

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

В качестве транспорта используется HTTP.

Общее описание указано в разделе Формат ссылки.

Получение параметров операции

После получения команды diagnostics КриптоАРМ отправляет запрос на получение параметров операции.

Формат запроса

Ключ Значение Описание
jsonrpc «2.0» Версия JSON-RPC протокола. Всегда «2.0».
method diagnostics.parameters Используемый метод. Всегда diagnostics.parameters.
id Уникальный идентификатор Используется идентификатор, который указан в ссылке на операцию. Подробнее в разделе Формат ссылки
diagnostic IDiagnosticInformaton Диагностическая информация о рабочем месте

Пример:

Content-Type: application/json
Content-Length: ...
Accept: application/json
{
    "jsonrpc": "2.0",
    "method": "certificates.parameters",
    "id": "2c48eb32-a0a8-405c-ade9-eed130605cba",
    "diagnostic": {
     }
}

Формат ответа

Ключ Значение Описание
jsonrpc «2.0» Версия JSON-RPC протокола. Всегда «2.0».
result IDiagnosticsParameters Объект со сведениями о параметрах операции
id Уникальный идентификатор Используется идентификатор, который указан в ссылке на операцию. Подробнее в разделе Формат ссылки

Пример ответа:

HTTP/1.1 200 OK
Connection: close
Content-Length: ...
Content-Type: application/json
Date: Sat, 08 Jul 2020 12:04:08 GMT
{
    "jsonrpc": "2.0",
    "result": {
        "operation": ["CSP_ENABLED", "LICENSES", "VERSIONS"],
        "props": {
            "headerText": "Диагностика cryptoarm.ru",
            "descriptionText": "Выполняется диагностика рабочего места для работы на портале"
        }
    },
    "id": "2c48eb32-a0a8-405c-ade9-eed130605cba"
}

Отправка сведений о рабочем месте

Полученные сведения отправляется POST запросом. Используются нотификации (уведомления), для которых не требуется ответ сервера.

Формат запроса

Ключ Значение Описание
jsonrpc «2.0» Версия JSON-RPC протокола. Всегда «2.0».
method diagnostics.information Используемый метод. Всегда diagnostics.information.
params IDiagnosticsInformation Сведения о рабочем месте

Пример:

Content-Type: application/json
Content-Length: ...
Accept: application/json
{
  "jsonrpc": "2.0",
  "method": "diagnostics.information",
  "params": {
    "id": "2c48eb32-a0a8-405c-ade9-eed130605cba",
    "CSP_ENABLED": true,
    "LICENSES": {
      "csp": {
        "status": true,
      },
      "cryptoarm": {
        "status": true,
        "type": "temporary",
        "expiration": "1591689487056",
      }
    },
    "VERSIONS": {
      "csp": "5.0.11753",
      "cryptoarm": "2.5.2",
    }
  }
}

Интерфейс 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 Триальная

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