Запит служить для отримання результату перевірки ЕП. Запит є блокуючим, тобто результат буде отримано лише після завершення процесу перевірки ЕП, якщо такий був раніше запущений. Якщо ЕП дійсний, то буде повернуто HTTP статус код 200. Якщо ЕП недійсний чи в процессі безпосередньої перевірки виникли помилки, буде повернуто HTTP статус код 406. При виникненні інших типів помилок, повертається HTTP статус код 503 чи 400.
https://local.cipher.kiev.ua:9091/api/v1/ticket/{uuid}/ds/verifier
GET
uuid | String | Ідентифікатор сесії |
Відсутні
Код відповіді | Content-type | Допустимі параметри | Приклад вмісту |
---|---|---|---|
200 | application/json | message verifyResults | { |
503 | application/json | message | { "message" : "Сервіс виконання криптографічних операцій не запущено." } |
400 | application/json | message | { "message" : "Сесія відсутня." } |
406 | application/json | message verifyResults failureCause | { |
Параметр | Тип даних | Опис |
---|---|---|
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 | Для перевірки підпису використовується час створення ЕП, яке не завірено ЕПЧ |
Поля об'єкта contentTimestamp, елемента масиву signatureTimestamps
Поле | Тип даних | Опис |
---|---|---|
isValid | Boolean | true - ЕПЧ дійсна false - ЕПЧ недійсна |
isFailure | Boolean | true - при перевірці ЕПЧ виникла помилка false - при перевірці ЕПЧ помилок не виникало |
dateTime | DateTime | Значення дати та часу в форматі ISO 8601, яке завірено ЕПЧ |
tsaCertificateSerialNumber | Object* | Серійний номер сертифікату TSP-сервера |
Поля об'єктаsignerInfo
Поле | Тип даних | Опис |
---|---|---|
ownerCertificateInfo | Object* | Інформація про власника |
issuerCertificateInfo | Object* | Інформація про видавця |
publicKeyCertificateInfo | Object* | Інформація про відкритий ключ |
certificateSerialNumber | Object* | Серійний номер сертифікату |
notBefore | Object* | Початок дії |
notAfter | Object* | Завершення дії |
extensionsCertificateInfo | Object* | Розширення |
Поля об'єктаsignerInfo.ownerCertificateInfo.value
Поле | Тип даних | Опис |
---|---|---|
ownerSurname | Object* | Прізвище |
ownerGivenname | Object* | Ім'я, по батькові |
ownerFullName | Object* | Повне ім'я |
ownerCountry | Object* | Країна |
ownerRegion | Object* | Область |
ownerCity | Object* | Населений пункт |
ownerAddress | Object* | Поштова адреса |
ownerSerialNumber | Object* | Серійний номер власника |
ownerPosition | Object* | Посада |
Поля об'єктаsignerInfo.issuerCertificateInfo.value
Поле | Тип даних | Опис |
---|---|---|
issuerOrganization | Object* | Організація |
issuerDepartment | Object* | Підрозділ |
issuerFullName | Object* | Повне ім'я |
issuerCountry | Object* | Країна |
issuerRegion | Object* | Область |
issuerCity | Object* | Населений пункт |
issuerAddress | Object* | Поштова адреса |
issuerSerialNumber | Object* | Серійний номер видавця |
Поля об'єктаsignerInfo.publicKeyCertificateInfo.value
Поле | Тип даних | Опис |
---|---|---|
publicKey | Object* | Відкритий ключ |
dsAlgorism | Object* | Алгоритм ЕП |
Поля об'єкта signerInfo.extensionsCertificateInfo.value
Поле | Тип данх | Опис |
---|---|---|
personalData | Object* | Персональні дані |
alternativeOwnerName | Object* | Альтернативне ім'я власника |
subjectKeyId | Object* | Ідентифікатор ключа |
issuerKeyId | Object* | Ідентифікатор ключа власника |
subjectOwnerId | Object* | Ідентифікатор власника |
certificateProfile | Object* | Профіль сертифікату |
keyUsage | Object* | Призначення сертифікату |
isTemporary | Object* | Ознака стартового сертифікату |
isReinforced | Object* | Ознака посиленого сертифікату |
Поля об'єктаsignerInfo.extensionsCertificateInfo.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" } } } } } ] } |
$.ajax({ url: "https://local.cipher.kiev.ua:9091/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; } }) |