Запрос служит для получения результата проверки ЭЦП. Запрос является блокирующим, то есть результат будет получен только после завершения процесса проверки ЭЦП, если такой был ранее запущен. Если ЭЦП действительна, будет возвращен HTTP статус код 200. Если в ЭЦП не действительна или в процессе ее непосредственной проверки возникли ошибки, будет возвращен HTTP статус код 406. При возникновении других типов ошибок, возвращаются HTTP статус коды 503 или 400.
URL-адрес запроса
https://local.cipher.kiev.ua:9091/api/v1/ticket/{uuid}/ds/verifier
Метод
GET
Параметры запроса
uuid | String | Идентификатор сессии |
Настраиваемые заголовки запроса
Отсутствует
Ответ
Код ответа | Content-type | Допустимые параметры | Пример содержимого |
---|---|---|---|
200 | application/json | message | { |
503 | application/json | message | { |
400 | application/json | message | { |
406 | application/json | message verifyResults failureCause | { |
Параметры JSON объекта ответа
Параметр | Тип данных | Описание |
---|---|---|
message | String | Описание результата проведения операции |
failureCause | String | Описание причины возникновения ошибки, которая возникла при выполнении запроса на проверку ЭЦП |
verifyResults | Array | Результаты проверки отдельно по каждой из ЭЦП |
Поля элемента массива verifyResults
Поле | Тип данных | Описание |
---|---|---|
status | String | "SUCCESS" - проверка ЭЦП произведена без ошибок "FAILURE" - в процессе проверки ЭЦП возникли ошибки |
failureCause | String | Описание причины возникновения ошибки, которая возникла при непосредственной проверке ЭЦП |
signerInfo | Object | Информация из сертификата владельца ЭЦП |
signingDateTime | String | Время выработки ЭЦП |
isValid | Boolean | true - ЭЦП действительна false - ЭЦП недействительна |
Поля объекта signerInfo
Поле | Тип данных | Описание |
---|---|---|
Получение результата проверки ЭЦП | Object* | Информация о владельце |
Получение результата проверки ЭЦП | Object* | Информация об издателе |
Получение результата проверки ЭЦП | Object* | Информация об открытом ключе |
certificateSerialNumber | Object* | Серийный номер сертификата |
notBefore | Object* | Начало действия |
notAfter | Object* | Окончание действия |
Получение результата проверки ЭЦП | Object* | Расширения |
Поля объект типа Object*
Поле | Тип данных | Описание |
---|---|---|
description | String | Описание поля на языке, который выбран пользователем в Сервисе |
value | [Object, String, Boolean, Number, Array] | Значение поля |
Поля объекта Получение результата проверки ЭЦП.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
Поля объекта Получение результата проверки ЭЦП.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* | Индивидуальный налоговый номер |
Пример объекта signerInfo
"message": "Цифровая подпись недействительна.", "verifyResults": [{ "status": "SUCCESS", "signerInfo": { "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": "вул.Харьковская 17"}, "ownerSerialNumber": { "description": "Серийный номер владельца", "value": "E7 49 6E 9F 33 07 6E 5B" }, "ownerPosition": {"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": "E7 49 6E 9F 33 07 6E 5B"} } }, "publicKeyCertificateInfo": { "description": "Информация об открытом ключе", "value": { "publicKey": { "description": "Открытый ключ", "value": "01 BE 1F B1 6B 6E 82 9C 05 AF 2F EC 04 87 E2 3F 0E 35 A3 3C 3D D3 B5 D2 CF 07 CC 84 6F 2F AD 7C 29" }, "dsAlgorism": {"description": "Алгоритм ЭЦП", "value": "ДСТУ 4145-2002, ПБ, little-endian"} } }, "certificateSerialNumber": { "description": "Серийный номер сертификата", "value": "8F 94 8F B8 95 EE 29 95" }, "notBefore": {"description": "Начало действия", "value": "Tue Jan 05 00:00:00 EET 2016"}, "notAfter": {"description": "Окончание действия", "value": "Wed Jan 04 00:00:00 EET 2017"}, "extensionsCertificateInfo": { "description": "Расширения", "value": { "personalData": { "description": "Персональные данные", "value": { "customId": {"description": "Внешний идентификатор", "value": "014"}, "passport": {"description": "Паспортные данные", "value": "СФ000014"}, "drfou": {"description": "Индивидуальный налоговый номер", "value": "0000000014"} } }, "alternativeOwnerName": {"description": "Альтернативное имя владельца", "value": "test@cipher.com"}, "subjectKeyId": { "description": "Идентификатор ключа", "value": "DE 69 69 50 3F 86 37 68 C8 58 13 94 DA F8 DF 1A B7 84 B8 12 55 2B AD A6 15 8E 00 F4 3A 31 19 A1" }, "subjectOwnerId": {"description": "Идентификатор владельца", "value": "E7 49 6E 9F 33 07 6E 5B"}, "certificateProfile": {"description": "Профиль сертификата", "value": "3"}, "keyUsage": {"description": "Назначение сертификата", "value": "Цифровая подпись, Неотрекаемость"}, "isTemporary": {"description": "Стартовый", "value": "false"}, "isReinforced": {"description": "Усиленный", "value": "false"} } } }, "signingDateTime": "Tue Nov 29 12:30:38 EET 2016", "isValid": false }]
Пример кода на JavaScript + jQuery 2.2.4
$.ajax({ url: "https://local.cipher.kiev.ua:9091/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/ts/verifier", type: "GET", dataType: "json", cache: false }).done(function (jsonResponse, textStatus, xhr) { message = jsonResponse.message; }).fail(function (xhr) { try { var jsonResponse = JSON.parse(xhr.responseText); message = jsonResponse.message; failureCause = jsonResponse.failureCause; } catch (e) { message = (xhr.responseText == undefined) ? "Ошибка при получении результата проверки МВ." : xhr.responseText; } })