Запрос служит для получения информации о ключах, которые содержит ключевой контейнер. Ключевой контейнер может содержать ключи ЭП, ключи согласования ключей или оба типа ключей одновременно.
Запрос также инициирует, в случае необходимости, диалоговую процедуру смены стартовых или действующих ключей.
Дилоговая процедура смены ключей
Для выполнения диалоговой процедуры смены ключей путь к ключевому контейнеру должен быть загружен с помощью специального запроса
URL-адрес запроса
https://local.cipher.kiev.ua:9090/api/v1/ticket/{uuid}/keyStore/verifier
Метод
PUT
Настраиваемые заголовки запроса
Content-Type | application/json |
Параметры JSON объекта запроса
Имя | Тип | Описание | Допустимые значения |
---|---|---|---|
keyStorePassword | String | Пароль к ключевому контейнеру сесии | Строка, которая представляет собой пароль для доступа к ключевому контейнеру сессии. Ключевой контейнер сессии должен быть ранее загружен с помощью специального запроса. |
Ответ
Код ответа | Content-type | Допустимые параметры | Пример содержимого |
---|---|---|---|
200 | application/json | keyAgreement signature | |
503 | application/json | message | { |
500 | application/json | message | { |
Параметры JSON объекта ответа
Параметр | Тип данных | Описание |
---|---|---|
message | String | Описание результата проведения операции |
signature | Получение данных о ключевом контейнере | Информация о возможности использовании ключа ЭП |
keyAgreement | Получение данных о ключевом контейнере | Информация о возможности использовании ключа согласования ключей |
Поля объекта KeyUsageInfo
Поле | Тип данных | Описание |
---|---|---|
canBeUsed | Boolean | Ключ присутствует в ключевом контейнере и нет ограничений на его использование |
message | String | Если canBeUsed=false, то message содержит описание причины, по которой ключ не может быть использован. Если canBeUsed=false, а message не содержит значения, то указанній ключ ключа отсутствует в ключевом контейнере. Если canBeUsed=true, то message может содержать предупреждение, например, о том, что до окончания срока действия ключей осталось менее 14 дней, или о наличии в контейнере ранее сформированного запроса на смену ключей и т.п. |
certificateInfo | Получение данных о ключевом контейнере | Данные из сертификата ключа |
Поля объекта CertificateInfo
Поле | Тип данных | Описание |
---|---|---|
Получение данных о ключевом контейнере | Object* | Информация о владельце |
Получение данных о ключевом контейнере | Object* | Информация об издателе |
Получение данных о ключевом контейнере | Object* | Информация об открытом ключе |
certificateSerialNumber | Object* | Серийный номер сертификата |
notBefore | Object* | Начало действия |
notAfter | Object* | Окончание действия |
Получение данных о ключевом контейнере | Object* | Расширения |
Поля объекта ownerCertificateInfo.value
Поле | Тип данных | Описание |
---|---|---|
ownerSurname | Object* | Фамилия |
ownerGivenname | Object* | Имя отчество |
ownerFullName | Object* | Полное имя |
ownerCountry | Object* | Страна |
ownerRegion | Object* | Область |
ownerCity | Object* | Город |
ownerAddress | Object* | Почтовый адрес |
ownerSerialNumber | Object* | Серийный номер владельца |
ownerPosition | Object* | Должность |
Поля объекта issuerCertificateInfo.value
Поле | Тип данных | Описание |
---|---|---|
issuerOrganization | Object* | Организация |
issuerDepartment | Object* | Подразделение |
issuerFullName | Object* | Полное имя |
issuerCountry | Object* | Страна |
issuerRegion | Object* | Область |
issuerCity | Object* | Город |
issuerAddress | Object* | Почтовый адрес |
issuerSerialNumber | Object* | Серийный номер издателя |
Поля объекта publicKeyCertificateInfo.value
Поля объекта signerInfo.extensionsCertificateInfo.value
Поле | Тип данных | Описание |
---|---|---|
Получение данных о ключевом контейнере | Object* | Персональные данные |
alternativeOwnerName | Object* | Альтернативное имя владельца |
subjectKeyId | Object* | Идентификатор ключа |
subjectOwnerId | Object* | Идентификатор владельца |
certificateProfile | Object* | Профиль сертификата |
keyUsage | Object* | Назначение сертификата |
isTemporary | Object* | Признак стартового сертификата |
isReinforced | Object* | Признак усиленного сертификата |
Поля объекта Получение данных о ключевом контейнере.value.personalData.value
Поле | Тип данных | Описание |
---|---|---|
customId | Object* | Внешний идентификатор |
passport | Object* | Паспортные данные |
drfou | Object* | Регистрационный номер учетной карточки плательщика налогов |
edrpou | Object* | Код ЕДПРОУ |
eddrun | Object* | Уникальный номер записи в ЕГДР |
Поля объекта типа Object*
Поле | Тип данных | Описание |
---|---|---|
description | String | Описание поля на языке, который выбран пользователем в Сервисе |
value | [Object, String, Boolean, Number, Array, null] | Значение поля |
Пример объекта JSON объекта ответа
{ "keyAgreement": { "canBeUsed": false, "certificateInfo": {}, "message": "" }, "signature": { "canBeUsed": true, "certificateInfo": { "ownerCertificateInfo": { "description": "Власник", "value": { "ownerSurname": { "description": "Прізвище", "value": "Коваль" }, "ownerGivenname": { "description": "Імя по-батькові", "value": "Кирило Кирилович" }, "ownerFullName": { "description": "Повне ім'я", "value": "Співробітник банку" }, "ownerCountry": { "description": "Країна", "value": "UA" }, "ownerRegion": { "description": "Область", "value": "Харківська" }, "ownerCity": { "description": "Місто", "value": "Харків" }, "ownerAddress": { "description": "Поштова адреса", "value": null }, "ownerSerialNumber": { "description": "Серійний номер власника", "value": "1AAAD3DEE6684A8F" }, "ownerPosition": { "description": "Посада", "value": "Співробітник банку" }, "ownerOrganization": { "description": "Організація", "value": "ПАТ "Кредобанк"" }, "ownerOrganizationUnit": { "description": "Відділ (підрозділ)", "value": "Захисту інформації" } } }, "issuerCertificateInfo": { "description": "Видавник", "value": { "issuerOrganization": { "description": "Організація", "value": "ТОВ \"Сайфер БІС\"" }, "issuerDepartment": { "description": "Підрозділ", "value": "Центр сертифікації ключів" }, "issuerFullName": { "description": "Повне ім'я", "value": "ЦСК ТОВ \"Сайфер БІС\"" }, "issuerCountry": { "description": "Країна", "value": "ua" }, "issuerRegion": { "description": "Область", "value": null }, "issuerCity": { "description": "Місто", "value": "Київ" }, "issuerAddress": { "description": "Поштова адреса", "value": null }, "issuerSerialNumber": { "description": "Серійний номер видавця", "value": "UA-33349855-0002" } } }, "publicKeyCertificateInfo": { "description": "Інформація про відкритий ключ", "value": { "publicKey": { "description": "Відкритий ключ", "value": "86 CA 20 5C 1D CA 25 8E 56 80 26 15 D6 5F 26 E9 1B 2B B5 12 D6 FE 9B B0 28 4B F2 05 D7 7E 38 57 00" }, "dsAlgorism": { "description": "Алгоритм ЕП", "value": "ДСТУ 4145-2002, ПБ, little-endian" } } }, "certificateSerialNumber": { "description": "Серійний номер сертифікату", "value": "B8 BF CA F0 E1 7D B9 1C" }, "notBefore": { "description": "Початок дії", "value": "2018-09-11T09:22:11Z" }, "notAfter": { "description": "Закінчення дії", "value": "2018-09-21T21:00:00Z" }, "extensionsCertificateInfo": { "description": "Розширення", "value": { "personalData": { "description": "Персональні дані", "value": { "customId": { "description": "Зовнішній ідентифікатор", "value": "001" }, "passport": { "description": "Паспортні дані", "value": "000123456" }, "drfou": { "description": "Реєстраційний номер облікової картки платника податків", "value": "1234567891" }, "edrpou": { "description": "Код ЕДПРОУ", "value": null }, "eddrun": { "description": "Унікальний номер запису в ЄДДР", "value": "01010101010115" } } }, "alternativeOwnerName": { "description": "Альтернативне ім'я власника", "value": "test@cipher.com" }, "subjectKeyId": { "description": "Ідентифікатор ключа", "value": "D7 AE 17 4E B0 2B 38 68 8F D9 17 22 67 D1 5B AF 36 A2 5A 62 76 AA 44 94 86 C8 D9 42 E1 86 E8 9D" }, "subjectOwnerId": { "description": "Ідентифікатор власника", "value": "1A AA D3 DE E6 68 4A 8F" }, "certificateProfile": { "description": "Профіль сертифіката", "value": "3" }, "keyUsage": { "description": "Призначеня сертифіката", "value": "Цифровий підпис" }, "isTemporary": { "description": "Стартовий", "value": "false" }, "isReinforced": { "description": "Посилений", "value": "false" } } } }, "message": "До закінчення дії ключів залишилося менше 6 днів.Зверніться протягом 6 днів до центру реєстрації ключів для отримання нових ключів" } }
Пример кода на JavaScript + jQuery 2.2.4
$.ajax({ url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/{uuid}/keyStore/verifier", type: "PUT", dataType: "json", contentType: "application/json", data: JSON.stringify({keyStorePassword : "12345678"}) cache: false }).done(function (jsonResponse, textStatus, xhr) { containerInfo = jsonResponse; }).fail(function (xhr) { try { var jsonResponse = JSON.parse(xhr.responseText); message = jsonResponse.message; failureCause = jsonResponse.failureCause; } catch (e) { message = (xhr.responseText == undefined) ? "Ошибка при проверке ключевого контейнера." : xhr.responseText; } })