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

Команда diagnostics#

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

Содержание:


Общая информация#

Возвращаются только запрошенные сведения: приложение не собирает и не отправляет сведения, которые сервис не запрашивал. Повторяющиеся и неизвестные значения operation отбрасываются; если известных значений не осталось, команда отклоняется.

В запросе параметров самой команды diagnostics поле diagnostic — пустой объект: сведения о рабочем месте не передаются до того, как получены параметры и разрешение пользователя.


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

cryptoarm://diagnostics/<URL>?id=<id>

Формат локального вызова описан в разделе Формат ссылки для локального вызова.


Параметры#

Поле operation — непустой массив значений:

Значение Что возвращается
SYSTEMINFORMATION Тип системы, архитектура, платформа и тип установочного пакета
CSP_ENABLED Доступность КриптоПро CSP
CADES_ENABLED Доступность CAdES
VERSIONS Версии КриптоПро CSP, КриптоАРМ и системного OpenSSL
PROVIDERS Доступность ГОСТ 2012-256, ГОСТ 2012-512 и OpenSSL
LICENSES Состояние лицензий КриптоПро CSP и КриптоАРМ
PERSONALCERTIFICATES Сведения о сертификатах из хранилища личных сертификатов

Поля props.headerText и props.descriptionText задают текст в окне подтверждения. Текст длиннее 40 и 120 символов соответственно сокращается. Для локального вызова localResultParams.savePath принимается рядом с operation либо внутри props; без него сведения показываются пользователю, но в файл не записываются.

{
  "jsonrpc": "2.0",
  "id": "tx-diagnostics",
  "result": {
    "operation": ["SYSTEMINFORMATION", "VERSIONS", "PROVIDERS", "LICENSES"],
    "props": {
      "headerText": "Проверка рабочего места"
    }
  }
}

Подтверждение пользователем#

Доверие к сервису само по себе не разрешает диагностику. Приложение показывает адрес сервиса и запрошенный набор сведений в окне «Диагностика рабочего места» и ждёт решения пользователя.

Для сетевого сервиса в этом окне можно разрешить последующие запуски диагностики в фоне. Разрешение сохраняется в профиле сервиса только вместе с подтверждением текущей операции; отказ профиль не изменяет. Изменить его позже можно на вкладке «Параметры ресурса». Пока разрешение действует, последующие запросы этого сервиса выполняются без окна подтверждения — включая PERSONALCERTIFICATES, который возвращает сведения обо всех личных сертификатах пользователя.


Результат#

Результат отправляется методом diagnostics.information и содержит только запрошенные поля:

{
  "jsonrpc": "2.0",
  "method": "diagnostics.information",
  "params": {
    "id": "tx-diagnostics",
    "SYSTEMINFORMATION": {
      "type": "Darwin",
      "arch": "arm64",
      "platform": "darwin",
      "packageType": "pkg"
    },
    "VERSIONS": {
      "csp": "5.0.13000",
      "cryptoarm": "1.2.0",
      "openssl": "3.0.13"
    },
    "PROVIDERS": {
      "GOST2012_256": true,
      "GOST2012_512": true,
      "openssl": true
    },
    "LICENSES": {
      "csp": { "status": true, "type": "", "expiration": "" },
      "cryptoarm": { "status": true, "type": "GOST", "expiration": 0 }
    }
  }
}

Поле packageType принимает значения msi, pkg или deb — по платформе, на которой запущено приложение.

Сведения о лицензии:

Поле КриптоАРМ КриптоПро CSP
status Лицензия действует Лицензия действует
type TRIAL, GOST, GOST_PDF, GOST_PROTECTED_MAIL, GOST_SERVER или пустая строка Всегда пустая строка
expiration Окончание срока в Unix-времени, в секундах; 0 — бессрочная лицензия; поля нет, если срок неизвестен Всегда пустая строка

Без установленной лицензии сведения КриптоАРМ относятся к пробному периоду: type — TRIAL, а status — false, если пробный период закончился.


Сведения о личных сертификатах#

Значение PERSONALCERTIFICATES возвращает массив объектов. Закрытые ключи и содержимое сертификатов в него не входят.

Поле Тип Описание
hash string Отпечаток сертификата SHA-1
serial string Серийный номер
issuerName string Издатель
issuerFriendlyName string Издатель в удобочитаемом виде
subjectName string Владелец
subjectFriendlyName string Владелец в удобочитаемом виде
organizationName string Организация
notBefore number Начало срока действия, Unix-время в миллисекундах
notAfter number Окончание срока действия, Unix-время в миллисекундах
keyNotAfter number Окончание срока действия закрытого ключа
key boolean К сертификату есть закрытый ключ
isSelfSigned boolean Самоподписанный сертификат
pubKeyAlg string Алгоритм открытого ключа
signatureAlgorithm string Алгоритм подписи
signatureDigestAlgorithm string Алгоритм хеширования подписи
keyUsageString string Назначения ключа, перечисленные через запятую
provider string Криптопровайдер

Смотрите также#

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