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

Команда certificates#

Команда импортирует сертификат X.509 в локальное хранилище, экспортирует выбранные сертификаты либо показывает сведения о переданном сертификате.

Содержание:


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

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

Закрытые ключи через эту команду не передаются.


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

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

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


Параметры#

Параметры содержат поле operation и объект props:

Поле Значение
operation import, export или information
props.headerText Необязательный заголовок; длиннее 40 символов сокращается
props.descriptionText Необязательное описание; длиннее 120 символов сокращается
props.store Массив хранилищ
props.multy Разрешить выбор нескольких сертификатов при экспорте; по умолчанию false
props.certificateBase64 Сертификат в формате DER, закодированном в Base64 — для import и information
localResultParams.savePath Каталог результата локального вызова; без него результат в файл не записывается

Хранилища:

Значение Раздел приложения
MY Личные сертификаты
AddressBook Сертификаты других пользователей
CA Промежуточные удостоверяющие центры
ROOT Корневые удостоверяющие центры
CA_OR_ROOT Удостоверяющие центры — без разделения на промежуточные и корневые

MyAll принимается как MY, CaAndRoot — как CA_OR_ROOT. Повторяющиеся значения store отбрасываются. Неизвестное хранилище — ошибка: список не расширяется до всех сертификатов.


Импорт сертификата#

{
  "jsonrpc": "2.0",
  "id": "tx-import",
  "result": {
    "operation": "import",
    "props": {
      "store": ["MY"],
      "certificateBase64": "<DER Base64>"
    }
  }
}

Приложение показывает сертификат и хранилища, допустимые для него: пользовательский сертификат — Личные и Другие пользователи, самоподписанный сертификат УЦ — Корневые удостоверяющие центры, остальные сертификаты УЦ — Промежуточные удостоверяющие центры; для сертификата УЦ доступно также хранилище Удостоверяющие центры. Значение props.store[0] подставляется как предварительный выбор, но окончательное хранилище выбирает пользователь. Если props.store[0] недопустимо для сертификата, импорт отклоняется без окна.

Результат:

{
  "jsonrpc": "2.0",
  "method": "certificates.import",
  "params": {
    "id": "tx-import",
    "status": "Completed"
  }
}

Экспорт сертификатов#

{
  "jsonrpc": "2.0",
  "id": "tx-export",
  "result": {
    "operation": "export",
    "props": {
      "store": ["MY", "AddressBook"],
      "multy": true
    }
  }
}

Если props.store не задан, предлагаются личные сертификаты. Пользователь выбирает один или несколько сертификатов, и приложение отправляет их в формате DER, закодированном в Base64, вместе со сведениями о владельце:

{
  "jsonrpc": "2.0",
  "method": "certificates.base64",
  "params": {
    "id": "tx-export",
    "certificates": [
      {
        "certificateBase64": "<DER Base64>",
        "hash": "b0a1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9",
        "issuerFriendlyName": "Example CA",
        "issuerName": "CN=Example CA",
        "notAfter": "2027-07-13T10:00:00.000Z",
        "notBefore": "2026-07-13T10:00:00.000Z",
        "rootCAMinComSvyaz": false,
        "subjectFriendlyName": "Example User",
        "subjectName": "CN=Example User",
        "status": true,
        "serial": "01AB",
        "x509": "<DER Base64>"
      }
    ]
  }
}

Просмотр сведений о сертификате#

{
  "jsonrpc": "2.0",
  "id": "tx-information",
  "result": {
    "operation": "information",
    "props": {
      "certificateBase64": "<DER Base64>"
    }
  }
}

Приложение открывает карточку сертификата в отдельной вкладке и отправляет:

{
  "jsonrpc": "2.0",
  "method": "certificates.information",
  "params": {
    "id": "tx-information",
    "status": "Completed"
  }
}

Для сетевого вызова результат уходит на адрес исходного вызова; локальный вызов сохраняет тот же конверт в файл certificates-<id>.json в каталоге localResultParams.savePath.


Справочник полей результата#

Поле Тип Описание
certificateBase64 string Сертификат в формате DER, закодированном в Base64
hash string Отпечаток сертификата SHA-1
issuerName string Издатель
issuerFriendlyName string Издатель в удобочитаемом виде
subjectName string Владелец
subjectFriendlyName string Владелец в удобочитаемом виде
serial string Серийный номер
notBefore string Начало срока действия
notAfter string Окончание срока действия
status boolean Результат проверки цепочки сертификата
rootCAMinComSvyaz boolean Цепочка завершается корневым сертификатом Минцифры

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

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