Команда diagnostics#
- Общая информация
- Формат ссылки
- Получение параметров операции
- Отправка сведений о рабочем месте
- Интерфейс IDiagnosticsParameters
- Тип IDiagnosticOperation
- Интерфейс IDiagnosticsOperationProps
- Интерфейс IDiagnosticsInformation
- Интерфейс ISystemInformation
- Интерфейс IVersions
- Интерфейс IProviders
- Интерфейс ILicenses
- Интерфейс ILicenseInfo
- LicenseType Enum
Общая информация#
Команда diagnostics
используется для диагностики рабочего места пользователя. Схема взаимодействия:ката или списка сертификатов, а импорта сертификата в локальное хранилище, просмотра информации о сертификате.
Все запросы между КриптоАРМ и сервером ДОЛЖНЫ соответствовать спецификации протокола JSON-RPC 2.0.
В качестве транспорта используется HTTP.
🔍 Общее описание указано в разделе Формат ссылки.
Формат ссылки#
Для выполнения команды diagnostics
должна быть сформирована ссылка вида:
cryptoarm://
- зарегистрированный протоколdiagnostics
- выполняемая команда<URL>
- ссылка, на которую КриптоАРМ будет слать запросыid
- уникальный идентификатор транзакции
Пример:
Получение параметров операции#
После получения команды 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 | Сведения о лицензиях |
Интерфейс 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 | LicenseType | Тип лицензии |
expiration? | string | Необязательный параметр. Дата истечения лицензии для трилальных лицензий или подписок (в формате UTC). |
LicenseType Enum#
Данное перечисление описывает возможные типы лицензий.
Значение | Описание |
---|---|
Permanent | Постоянная |
Subscription | Подписка |
Daily | Дневная |
Trial | Триальная |