Запрос служит для получения результата проверки ЭП. Запрос является блокирующим, то есть результат будет получен только после завершения процесса проверки ЭП, если такой был ранее запущен. Если ЭП действительна, будет возвращен HTTP статус код 200. Если в ЭП недействительна или в процессе ее непосредственной проверки возникли ошибки, будет возвращен HTTP статус код 406. При возникновении других типов ошибок, возвращаются HTTP статус коды 503 или 400.
URL-адрес запроса
https://localhost:9094/api/v1/ticket/{uuid}/ds/verifier
Метод
GET
Параметры запроса
uuid | String | Идентификатор сессии |
Настраиваемые заголовки запроса
Отсутствует
Ответ
Код ответа | Content-type | Допустимые параметры | Пример содержимого |
---|---|---|---|
200 | application/json | message verifyResults | { |
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 - ЭП недействительна |
contentTimestamp | Object | Результат проверки электронной метки (ЭМВ) времени данных, для которых была создана ЭП |
signatureTimestamps | Array | Результаты проверки электронных меток времени электронной подписи |
isUntrustedValid | Boolean | Для проверки подписи использовалось время создания подписи, которое не заверено электронной меткой времени. true - ЭП действительна false - ЭП недействительна |
Поля объекта contentTimestamp, элемента массива signatureTimestamps
Поле | Тип данных | Описание |
---|---|---|
isValid | Boolean | true - ЭМВ действительна false - ЭМВ недействительна |
isFailure | Boolean | true - при проверке ЭМВ возникла ошибка false - при проверке ЭМВ ошибок не возникало |
dateTime | DateTime | Значение даты и времени в формате ISO 8601, которое заверено ЭМВ |
tsaCertificateSerialNumber | Object* | Серийный номер сертификата TSP-сервера |
Поля объекта signerInfo
Поле | Тип данных | Описание |
---|---|---|
Получение результата проверки ЭП | 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
Поля объекта Получение результата проверки ЭП.extensionsCertificateInfo.value
Поле | Тип данных | Описание |
---|---|---|
Получение результата проверки ЭП | Object* | Персональные данные |
alternativeOwnerName | Object* | Альтернативное имя владельца |
subjectKeyId | Object* | Идентификатор ключа |
issuerKeyId | Object* | Идентификатор ключа издателя |
subjectOwnerId | Object* | Идентификатор владельца |
certificateProfile | Object* | Профиль сертификата |
keyUsage | Object* | Назначение сертификата |
isTemporary | Object* | Признак стартового сертификата |
isReinforced | Object* | Признак усиленного сертификата |
isQualified | Object* | Признак квалифицированного сертификата |
isPrivateKeyOnQSCD | Object* | Признак средства КЭП |
qscdTypeName | Object* | Тип средства КЭП |
isElectronicStamp | Object* | Признак электронной печати |
Поля объекта Получение результата проверки ЭП.Получение результата проверки ЭП.value.personalData.value
Поле | Тип данных | Описание |
---|---|---|
customId | Object* | Внешний идентификатор |
passport | Object* | Паспортные данные |
drfou | Object* | Регистрационный номер учетной карточки плательщика налогов |
edrpou | Object* | Код ЕДПРОУ |
eddrun | Object* | Уникальный номер записи в ЕГДР |
Поля объекта типа Object*
Поле | Тип данных | Описание |
---|---|---|
description | String | Описание поля на языке, который выбран пользователем в Сервисе |
value | [Object, String, Boolean, Number, Array, null] | Значение поля |
Пример объекта signerInfo
{ "message": "Електронний підпис дійсний.", "verifyResults": [ { "status": "SUCCESS", "failureCause": "", "isValid": true, "signingDateTime": "2020-03-05T13:25:36Z", "contentTimestamp": {}, "signatureTimestamps": [ { "isValid": true, "isFailure": false, "dateTime": "2020-03-05T13:25:39Z", "tsaCertificateSerialNumber": "3DB73E7BF0D575B20200000001000000BB000000" } ], "signerInfo": { "ownerCertificateInfo": { "description": "Власник", "value": { "ownerSurname": { "description": "Прізвище", "value": "Боровіков" }, "ownerGivenname": { "description": "Імя по-батькові", "value": "Олександр Михайлович" }, "ownerFullName": { "description": "Повне ім'я", "value": "Боровіков Олександр Михайлович" }, "ownerCountry": { "description": "Країна", "value": "UA" }, "ownerRegion": { "description": "Область", "value": null }, "ownerCity": { "description": "Місто", "value": "Київ" }, "ownerAddress": { "description": "Поштова адреса", "value": null }, "ownerSerialNumber": { "description": "Серійний номер власника", "value": "2423814" }, "ownerPosition": { "description": "Посада", "value": null }, "ownerOrganization": { "description": "Організація", "value": null }, "ownerOrganizationUnit": { "description": "Відділ (підрозділ)", "value": null } } }, "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-39384476-2018" } } }, "publicKeyCertificateInfo": { "description": "Інформація про відкритий ключ", "value": { "publicKey": { "description": "Відкритий ключ", "value": "C4 39 B0 5D 95 8A 6D 95 0E 4D F4 71 2A 62 59 6B A1 55 C9 6A 91 99 21 01 8E D3 7B B4 72 11 E6 F9 00" }, "dsAlgorism": { "description": "Алгоритм ЕП", "value": "ДСТУ 4145-2002, ПБ, little-endian" } } }, "certificateSerialNumber": { "description": "Серійний номер сертифікату", "value": "20B4E4ED0D30998C0400000006FC24004DAD7500" }, "notBefore": { "description": "Початок дії", "value": "2019-06-10T21:00:00Z" }, "notAfter": { "description": "Закінчення дії", "value": "2021-06-10T21:00:00Z" }, "extensionsCertificateInfo": { "description": "Розширення", "value": { "personalData": { "description": "Персональні дані", "value": { "customId": { "description": "Зовнішній ідентифікатор", "value": null }, "passport": { "description": "Паспортні дані", "value": null }, "drfou": { "description": "Реєстраційний номер облікової картки платника податків", "value": "2031914098" }, "edrpou": { "description": "Код ЕДПРОУ", "value": null }, "eddrun": { "description": "Унікальний номер запису в ЄДДР", "value": null } } }, "alternativeOwnerName": { "description": "Альтернативне ім'я власника", "value": null }, "subjectKeyId": { "description": "Ідентифікатор ключа", "value": "9E 03 BA B2 24 4C 3D 02 09 41 08 8E 7E A3 E8 81 CD C6 90 58 B5 9B 38 1F 90 98 DC 5D F3 EF 61 8E" }, "issuerKeyId": { "description": "Ідентифікатор ключа видавця", "value": "20 B4 E4 ED 0D 30 99 8C BE 30 6A 07 7D 69 9A 32 73 23 8A E9 09 08 71 D6 16 37 0E 18 E5 76 D4 7F" }, "subjectOwnerId": { "description": "Ідентифікатор власника", "value": "00" }, "certificateProfile": { "description": "Профіль сертифіката", "value": null }, "keyUsage": { "description": "Призначеня сертифіката", "value": "Електронний підпис, Невідрікаємість" }, "isTemporary": { "description": "Стартовий", "value": "false" }, "isReinforced": { "description": "Посилений", "value": "true" }, "isQualified": { "description": "Кваліфікований", "value": "true" }, "isPrivateKeyOnQSCD": { "description": "Засіб КЕП", "value": "false" }, "qscdTypeName": { "description": "Тип засобу КЕП", "value": null }, "isElectronicStamp" : { "description": "Електронна печатка", "value": "false" } } } } } ] }
Пример кода на JavaScript + jQuery 2.2.4
$.ajax({ url: "https://localhost:9094/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/ds/verifier", type: "GET", dataType: "json", cache: false }).done(function (jsonResponse, textStatus, xhr) { message = jsonResponse.message; verifyResults = jsonResponse.verifyResults; }).fail(function (xhr) { try { var jsonResponse = JSON.parse(xhr.responseText); message = jsonResponse.message; failureCause = jsonResponse.failureCause; verifyResults = jsonResponse.verifyResults; } catch (e) { message = (xhr.responseText == undefined) ? "Ошибка при получении результата проверки ЭП." : xhr.responseText; } })