Команда certrequests#
Генерация запросов на сертификат#
Команда certrequests используется для: генерации запроса на сертификат по шаблону или экспорт запросов.
Схема взаимодействия (экспорт сертификатов):

Формат ссылки#
Для выполнения команды certrequests должна быть сформирована ссылка вида:
-
cryptoarm://- зарегистрированный протокол -
certrequests- выполняемая команда -
<URL>- ссылка, на которую КриптоАРМ будет слать запросы -
id- уникальный идентификатор транзакции
Пример:
Общее#
Все запросы между КриптоАРМ и сервером ДОЛЖНЫ соответствовать спецификации протокола JSON-RPC 2.0.
В качестве транспорта используется HTTP.
Общее описание указано в разделе Формат ссылки.
Получение параметров операции#
После получения команды certrequests КриптоАРМ отправляет запрос на получение параметров операции.
Формат запроса#
| Ключ | Значение | Описание |
|---|---|---|
| jsonrpc | «2.0» | Версия JSON-RPC протокола. Всегда «2.0». |
| method | certrequests.parameters | Используемый метод. Всегда certrequests.parameters. |
| id | Уникальный идентификатор | Используется идентификатор, который указан в ссылке на операцию. Подробнее в разделе Формат ссылки |
| diagnostic | IDiagnosticInformaton | Диагностическая информация о рабочем месте |
Пример:
Формат ответа#
| Ключ | Значение | Описание |
|---|---|---|
| jsonrpc | «2.0» | Версия JSON-RPC протокола. Всегда «2.0». |
| result | ICertrequestsParameters | Объект со сведениями о параметрах операции |
| id | Уникальный идентификатор | Используется идентификатор, который указан в ссылке на операцию. Подробнее в разделе Формат ссылки |
Пример ответа:
Отправка запроса на сертификат#
После генерации запроса, он будет отправлен на сервер. Используются нотификации (уведомления), для которых не требуется ответ сервера.
Формат запроса#
| Ключ | Значение | Описание |
|---|---|---|
| jsonrpc | «2.0» | Версия JSON-RPC протокола. Всегда «2.0». |
| method | certrequests.base64 | Используемый метод. Всегда certrequests.base64. |
| params | ICertificaterequestBase64Param | Параметры, содержащие объект сертификата |
Пример:
Интерфейс ICertrequestsParameters#
Объекты данного типа описывают параметры команды.
| Свойство | Тип | Описание |
|---|---|---|
| operation | string | Тип операции: генерация запроса на сертификат. Значение типа: `CertrequestsOperation |
| props | ICertrequestsOperationGenerateProps | Параметры операции |
Тип CertrequestsOperation#
Возможные операции с запросами на сертификат.
| Значение | Описание |
|---|---|
| GENERATE | Генерация запроса на сертификат |
Интерфейс ICertrequestsOperationGenerateProps#
Объекты данного типа описывают дополнительные свойства операции.
| Свойство | Тип | Значение | Описание |
|---|---|---|---|
| headerText? | string | Необязательный параметр. Используется для отображения в заголовке окна. Максимальная длина: 40 символов. | headerText? |
| descriptionText? | string | Необязательный параметр. Используется для отображения в сведениях об операции. Максимальная длина: 120 символов. | descriptionText? |
| templateType | string | JSONTemplate или CertificateTemplate | В качестве шаблона используется JSON типа IJSONTemplate или в качестве шаблона используется сертификат |
| template | IJSONTemplate или ICertificateTemplate | Шаблон для генерации запроса на сертификат |
Интерфейс ICertificatesParameters#
Объекты данного типа описывают поля для генерации запроса на сертификат.
| Свойство | Тип | Описание |
|---|---|---|
| Description | string | Описание шаблона |
| FriendlyName | string | Дружественное имя шаблона |
| RDN | IRDN[] | Набор полей DN |
| Extensions | IRequestExtension | Расширения |
| MarkExportable | boolean | Определяет экспортируемость ключей |
Интерфейс IJSONTemplate#
| Свойство | Тип | Описание |
|---|---|---|
| Description | string | Описание шаблона |
| FriendlyName | string | Дружественное имя шаблона |
| RDN | IRDN[] | Набор полей DN |
| Extensions | IRequestExtension | Расширения |
| MarkExportable | boolean | Определяет экспортируемость ключей |
Интерфейс IRDN#
| Свойство | Тип | Описание |
|---|---|---|
| Oid | string | Описание шаблона |
| Name | string | Наименование OID |
| Length | number | Максимальная длина поля |
| LocalizedName | string | Локализованное наименование OID |
| SettingsValues | string[] | Список возможных значений |
| DefaultValue | string | Значение по умолчанию |
| ProhibitAnyValue | boolean | Флаг указывающий, что пользователю доступны только значения из массива SettingsValues |
| ProhibitChange | boolean | Флаг указывающий, что поле не может быть изменено |
| ProhibitEmpty | boolean | Флаг указывающий, что поле должно быть непустым |
Интерфейс IRequestExtension#
| Свойство | Тип | Описание |
|---|---|---|
| KeyUsage | IKeyUsage[] | Описание шаблона |
| ExtendedKeyUsage | IExtendedKeyUsage[] | Наименование OID |
Интерфейс IKeyUsage#
| Свойство | Тип | Описание |
|---|---|---|
| Name | string | Наименование OID |
| LocalizedName | string | Локализованное наименование OID |
| DefaultValue | boolean | Значение по умолчанию |
| ProhibitChange | boolean | Флаг указывающий, что поле не может быть изменено |
Интерфейс IExtendedKeyUsage#
| Свойство | Тип | Описание |
|---|---|---|
| Name | string | Наименование OID |
| LocalizedName | string | Локализованное наименование OID |
| DefaultValue | boolean | Значение по умолчанию |
| ProhibitChange | boolean | Флаг указывающий, что поле не может быть изменено |
Интерфейс ICertificateTemplate#
Объекты данного типа используются для генерации запроса на сертификат, где запрос формируется по сертификату.
| Свойство | Тип | Описание |
|---|---|---|
| certificateBase64 | string | Сертификат в формате X.509 закодированный в Base64 |
Интерфейс ICertificaterequestBase64Params#
| Свойство | Тип | Описание |
|---|---|---|
| id | string | Идентификатор транзакции |
| certificaterequestBase64 | string | Запрос в формате X.509 закодированный в Base64 |
| friendlyName | string | Дружественное имя субъекта |