Запрос служит для получения результата проверки ЭЦП. Запрос является блокирующим, то есть результат будет получен только после завершения процесса проверки ЭЦП, если такой был ранее запущен. Если ЭЦП действительна, будет возвращен Запит служить для отримання результату перевірки ЕП. Запит є блокуючим, тобто результат буде отримано лише після завершення процесу перевірки ЕП, якщо такий був раніше запущений. Якщо ЕП дійсний, то буде повернуто HTTP статус код 200. Если в ЭЦП не действительна или в процессе ее непосредственной проверки возникли ошибки, будет возвращен HTTP Якщо ЕП недійсний чи в процессі безпосередньої перевірки виникли помилки, буде повернуто HTTP статус код 406. При возникновении других типов ошибок, возвращаются HTTP статус коды 503 или виникненні інших типів помилок, повертається 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 verifyResults | { |
Електронний |
підпис |
дійсний." |
}
, | |||
503 | application/json | message | { |
"message" : " |
Сервіс |
виконання |
криптографічних |
операцій не |
запущено." } | |||
400 | application/json | message | { |
"message" : " |
Сесія |
відсутня." } | |||
406 | application/json | message verifyResults failureCause | { |
"message" : " |
Електронний |
підпис не |
дійсний.", |
Array |
...
Параметри 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 | Для перевірки підпису використовується час створення ЕП, яке не завірено ЕПЧ |
Поля об'єкта contentTimestamp, елемента масиву signatureTimestamps
Поле | Тип даних | Опис |
---|---|---|
isValid | Boolean | true - ЕПЧ дійсна false - ЕПЧ недійсна |
isFailure | Boolean | true - при перевірці ЕПЧ виникла помилка false - при перевірці ЕПЧ помилок не виникало |
dateTime | DateTime | Значення дати та часу в форматі ISO 8601, яке завірено ЕПЧ |
tsaCertificateSerialNumber | Object* | Серійний номер сертифікату TSP-сервера |
Поля об'єкта
Anchor | ||||
---|---|---|---|---|
|
Поле | Тип даних | Опис |
---|---|---|
ownerCertificateInfo | Object* | Інформація про власника |
issuerCertificateInfo | Object* | Інформація про видавця |
publicKeyCertificateInfo | Object* | Інформація про відкритий ключ |
certificateSerialNumber | Object* | Серійний номер сертифікату |
notBefore | Object* | Початок дії |
notAfter | Object* | Завершення дії |
extensionsCertificateInfo | Object* | Розширення |
Поля об'єкта
Anchor | ||||
---|---|---|---|---|
|
Поле | Тип даних | Опис |
---|---|---|
ownerSurname | Object* | Прізвище |
ownerGivenname | Object* | Ім'я, по батькові |
ownerFullName | Object* | Повне ім'я |
ownerCountry | Object* | Країна |
ownerRegion | Object* | Область |
ownerCity | Object* | Населений пункт |
ownerAddress | Object* | Поштова адреса |
ownerSerialNumber | Object* | Серійний номер власника |
ownerPosition | Object* | Посада |
Поля об'єкта
signerInfo.issuerCertificateInfo.value Anchor issuerCertificateInfo issuerCertificateInfo
Поле | Тип даних | Опис |
---|---|---|
issuerOrganization | Object* | Організація |
issuerDepartment | Object* | Підрозділ |
issuerFullName | Object* | Повне ім'я |
issuerCountry | Object* | Країна |
issuerRegion | Object* | Область |
issuerCity | Object* | Населений пункт |
issuerAddress | Object* | Поштова адреса |
issuerSerialNumber | Object* | Серійний номер видавця |
Поля об'єкта
signerInfo.publicKeyCertificateInfo.value Anchor publicKeyCertificateInfo publicKeyCertificateInfo
Поля об'єкта
signerInfo.extensionsCertificateInfo.value Anchor extensionsCertificateInfo extensionsCertificateInfo
Поле | Тип данх | Опис |
---|---|---|
personalData | Object* | Персональні дані |
alternativeOwnerName | Object* | Альтернативне ім'я власника |
subjectKeyId | Object* | Ідентифікатор ключа |
issuerKeyId | Object* | Ідентифікатор ключа власника |
subjectOwnerId | Object* | Ідентифікатор власника |
certificateProfile | Object* | Профіль сертифікату |
keyUsage | Object* | Призначення сертифікату |
isTemporary | Object* | Ознака стартового сертифікату |
isReinforced | Object* | Ознака посиленого сертифікату |
Поля об'єкта
signerInfo.extensionsCertificateInfo.value.personalData.value Anchor personalData personalData
Поле | Тип даних | Опис |
---|---|---|
customId | Object* | Зовнішній ідентифікатор |
passport | Object* | Паспортні дані |
drfou | Object* | Реєстраційний номер облікової картки платників податків |
edrpou | Object* | Код ЄДРПОУ |
eddrun | Object* | Унікальний номер запису в ЕДДР |
Поля об'єкта типу
Anchor | ||||
---|---|---|---|---|
|
Поле | Тип даних | Опис |
---|---|---|
description | String | Опис поля на мові, яку обрано користувачем в Сервісі |
value | [Object, String, Boolean, Number, Array, null] | Значення поля |
Приклад об'єкта signerInfo
Code Block |
---|
{
"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 |
Поле | Тип данных | Описание |
---|---|---|
Получение результата проверки ЭЦП | Object* | Информация о владельце |
Получение результата проверки ЭЦП | Object* | Информация об издателе |
Получение результата проверки ЭЦП | Object* | Информация об открытом ключе |
certificateSerialNumber | Object* | Серийный номер сертификата |
notBefore | Object* | Начало действия |
notAfter | Object* | Окончание действия |
Получение результата проверки ЭЦП | Object* | Расширения |
...
Поле | Тип данных | Описание |
---|---|---|
ownerSurname | Object* | Фамилия |
ownerGivenname | Object* | Имя отчество |
ownerFullName | Object* | Полное имя |
ownerCountry | Object* | Страна |
ownerRegion | Object* | Область |
ownerCity | Object* | Город |
ownerAddress | Object* | Почтовый адрес |
ownerSerialNumber | Object* | Серийный номер владельца |
ownerPosition | Object* | Должность |
...
Поле | Тип данных | Описание |
---|---|---|
issuerOrganization | Object* | Организация |
issuerDepartment | Object* | Подразделение |
issuerFullName | Object* | Полное имя |
issuerCountry | Object* | Страна |
issuerRegion | Object* | Область |
issuerCity | Object* | Город |
issuerAddress | Object* | Почтовый адрес |
issuerSerialNumber | Object* | Серийный номер издателя |
...
...
Поле | Тип данных | Описание |
---|---|---|
Получение результата проверки ЭЦП | Object* | Персональные данные |
alternativeOwnerName | Object* | Альтернативное имя владельца |
subjectKeyId | Object* | Идентификатор ключа |
subjectOwnerId | Object* | Идентификатор владельца |
certificateProfile | Object* | Профиль сертификата |
keyUsage | Object* | Назначение сертификата |
isTemporary | Object* | Признак стартового сертификата |
isReinforced | Object* | Признак усиленного сертификата |
...
Поле | Тип данных | Описание |
---|---|---|
customId | Object* | Внешний идентификатор |
passport | Object* | Паспортные данные |
drfou | Object* | Индивидуальный налоговый номер |
...
Поле | Тип данных | Описание |
---|---|---|
description | String | Описание поля на языке, который выбран пользователем в Сервисе |
value | [Object, String, Boolean, Number, Array] | Значение поля |
Пример объекта signerInfo
Code Block |
---|
"message": "Цифровая подпись недействительна.", "verifyResults": [{ "status": "SUCCESS", "signerInfo": { "ownerCertificateInfo": { "description": "Владелец", "valuedescription": {"Паспортні дані", "ownerSurname": {"description": "Фамилия", "value": "Стокипный"}, "ownerGivennamevalue": {"description": "Имя отчество", "value": "Александр Леонидович"}, null "ownerFullName": {"description": "Полное имя", "value": "Стокипный Александр Леонидович"}, "ownerCountry": {"description": "Страна", "value": "ua"}, "drfou": { "ownerRegion": {"description": "Область", "value": "Харьковская"}, "ownerCity": {"description": "Город", "value": "Харьков"}Реєстраційний номер облікової картки платника податків", "ownerAddress": {"description": "Почтовый адрес", "value": "вул.Харьковская 17"}, "ownerSerialNumbervalue": {"2031914098" "description": "Серийный номер владельца", }, "value": "E7 49 6E 9F 33 07 6E 5B" "edrpou": { }, "ownerPosition": {"description": "Должность", "valuedescription": "Разработчик"} "Код ЕДПРОУ", } }, "issuerCertificateInfo": { "descriptionvalue": "Издатель",null "value": { "issuerOrganization": {"description": "Организация", "value": "\"ТОВ \\\"Сайфер БІС\\\"\""}, }, "issuerDepartmenteddrun": {"description": "Подразделение", "value": "Центр сертифікації ключів"}, "issuerFullName": {"description": "Полное имя", "value": "\"ЦСК ТОВ \\\"Сайфер БІС\\\"\description": "}, Унікальний номер запису в ЄДДР", "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"} "alternativeOwnerName": }{ }, "publicKeyCertificateInfo": { "description": "ИнформацияАльтернативне об открытом ключеім'я власника", "value": { "publicKeyvalue": {null "description": "Открытый ключ"}, "valuesubjectKeyId": "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" { "description": "Ідентифікатор ключа", }, "dsAlgorismvalue": {"description": "Алгоритм ЭЦП", "value": "ДСТУ 4145-2002, ПБ, little-endian"} } },"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" "certificateSerialNumber": { "description": "Серийный номер сертификата"}, "value": "8F 94 8F B8 95 EE 29 95" "issuerKeyId": { }, "notBefore": {"description": "Начало действия", "value": "Tue Jan 05 00:00:00 EET 2016"}, "notAfter": {"description": "ОкончаниеІдентифікатор ключа действиявидавця", "value": "Wed Jan 04 00:00:00 EET 2017"}, "extensionsCertificateInfo": { "descriptionvalue": "Расширения", 20 B4 E4 ED 0D 30 99 8C BE 30 6A "value": { "personalData": { 07 7D 69 9A 32 73 23 8A E9 09 08 71 D6 16 37 0E 18 E5 76 D4 7F" "description": "Персональные данные"}, "valuesubjectOwnerId": { "customId": {"description": "ВнешнийІдентифікатор идентификаторвласника", "value": "014"}, "passport": {"description": "Паспортные данные", "value": "СФ00001400"}, }, "drfou": {"description": "Индивидуальный налоговый номер", "value": "0000000014"} "certificateProfile": { } }, "description": "Профіль сертифіката", "alternativeOwnerName": {"description": "Альтернативное имя владельца", "value": "test@cipher.com"}, "subjectKeyIdvalue": {null "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" "keyUsage": { "description": "Призначеня сертифіката", }, "subjectOwnerId": {"descriptionvalue": "ИдентификаторЕлектронний владельца"підпис, "value": "E7 49 6E 9F 33 07 6E 5B"Невідрікаємість" }, "certificateProfile "isTemporary": {"description": "Профиль сертификата", "value": "3"}, "keyUsage": {"description": "Назначение сертификатаСтартовий", "value": "Цифровая подпись, Неотрекаемость"}, "isTemporary": {"description": "Стартовый", "value": "false"}, "isReinforced": {"description": "Усиленный", "value": "false"} }, } } },"isReinforced": { "signingDateTime": "Tue Nov 29 12:30:38 EET 2016", "isValid": false }] |
Пример кода на JavaScript + jQuery 2.2.4
Code Block | ||
---|---|---|
| ||
$.ajax({ url: "https://local.cipher.kiev.ua:9091/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/ts/verifier", type"description": "GETПосилений", dataType "value": "jsontrue", 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; } }] }) |