Запит служить для отримання результату перевірки ЕП. Запит є блокуючим, то результат буде отримано лише після завершення процесу перевірки ЕП, якщо такий був раніше запущено. Якщо ЕП дійсна, то буде повернуто HTTP статус код 200. Якщо ЕП не дійсний чи у процесі її безпосередньої перевірки виникають помилки, буде повернуто HTTP статус код 406. При появі інших типів помилок, повертаються HTTP статус коди 503 чи 400.
URL-адреса запиту
Запрос служит для получения результата проверки ЭЦП. Запрос является блокирующим, то есть результат будет получен только после завершения процесса проверки ЭЦП, если такой был ранее запущен. Если ЭЦП действительна, будет возвращен HTTP статус код 200. Если в ЭЦП недействительна или в процессе ее непосредственной проверки возникли ошибки, будет возвращен HTTP статус код 406. При возникновении других типов ошибок, возвращаются HTTP статус коды 503 или 400.
...
https://local.cipher.kiev.ua:9090/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" : " |
Електронний підпис |
не |
дійсний.", |
...
Параметри JSON
...
обʼєкта відповіді
Параметр | Тип |
---|
даних |
---|
Опис | |
---|---|
message | String |
Опис результату проведення операції | |
failureCause | String |
Опис причини виникнення помилки, яка виникла при виконанні запиту на перевірку ЕП | |
verifyResults | Array |
Результати перевірки окремо по кожній з ЕП |
Поля елемента масиву Поля элемента массива verifyResults
Поле | Тип |
---|
даних |
---|
Опис | ||
---|---|---|
status | String | "SUCCESS" - |
перевірка ЕП здійснена без помилок "FAILURE" - в |
процесі перевірки ЕП виникли помилки | |
failureCause | String |
Опис причини виникнення помилки, яка виникла при безпосередній перевірці ЕП | |
signerInfo | Object |
Інформація з сертифіката власника ЕП | |
signingDateTime | String |
Час створення ЕП | ||
isValid | Boolean | true - |
ЕП дійсний false - |
...
Поле | Тип данных | Описание |
---|---|---|
Получение результата проверки ЭЦП | 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* | Признак усиленного сертификата |
...
ЕП не дійсний | ||
contentTimestamp | Object | Результат перевірки електронної позначки часу (ЕПЧ) даних для яких було створено ЕП |
signatureTimestamps | Array | Результати перевірки ЕПЧ електронного підпису |
isUntrustedValid | Boolean | Для перевірки ЕП використовується час створення ЕП, яке не завірено ЕПЧ. true - ЕП дійсна false - ЕП не дійсний |
signatureType | String | Тип електронного підпису.
|
signatureFormat | String | Формат електронного підпису.
|
Поля обʼєкта 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* | Ознака посиленого сертифікату |
isQualified | Object* | Ознака кваліфікованого сертифікату |
isPrivateKeyOnQSCD | Object* | Ознака засобу КЕП |
qscdTypeName | Object* | Тип засобу КЕП |
isElectronicStamp | 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": {
"description": "Паспортні дані",
"value": null
},
"drfou": {
"description": "Реєстраційний номер облікової картки платника податків",
"value": "2031914098"
},
|
Поле | Тип данных | Описание |
---|---|---|
customId | Object* | Внешний идентификатор |
passport | Object* | Паспортные данные |
drfou | Object* | Регистрационный номер учетной карточки плательщика налогов |
edrpou | Object* | Код ЕДПРОУ |
eddrun | Object* | Уникальный номер записи в ЕГДР |
...
Поле | Тип данных | Описание |
---|---|---|
description | String | Описание поля на языке, который выбран пользователем в Сервисе |
value | [Object, String, Boolean, Number, Array, null] | Значение поля |
Пример объекта signerInfo
Code Block |
---|
"message": "Цифровая подпись действительна.", "verifyResults": [{ "status": "SUCCESS", "signerInfo": { "ownerCertificateInfo": { "descriptionedrpou": "Владелец", { "value": { "ownerSurname": {"description": "ФамилияКод ЕДПРОУ", "value": "Горобець"}, "ownerGivenname": {"description": "Имя отчество", "value": "Сергій Миколайович"}, null "ownerFullName": {"description": "Полное имя", "value": "Горобець Сергій Миколайович"}, }, "ownerCountry": {"description": "Страна", "value": "UA"}, "ownerRegion": {"description": "Область", "value": "Київська"},eddrun": { "ownerCity": {"description": "Город", "value": "Київ"}, "ownerAddressdescription": {"description": "Почтовый адрес", "value": null}, "Унікальний номер запису в ЄДДР", "ownerSerialNumber": {"description": "Серийный номер владельца", "value": "00"}, null "ownerPosition": {"description": "Должность", "value": "Фізична особа"} } } }, } "issuerCertificateInfo": { "description": "Издатель", }, "value": { "issuerOrganizationalternativeOwnerName": {"description": "Организация", "value": "\"АТ \\\"ІІТ\\\"\""}, "issuerDepartment": {"description": "ПодразделениеАльтернативне ім'я власника", "value": "Тестовий ЦСК"}, "issuerFullName": {"description": "Полное имя", "value": "\"Тестовий ЦСК АТ \\\"ІІТ\\\"\""}, null "issuerCountry": {"description": "Страна", "value": "UA"}, "issuerRegionsubjectKeyId": {"description": "Область", "value": "Харківська"}, "issuerCity": {"description": "ГородІдентифікатор ключа", "value": "Харків"}, "issuerAddressvalue": {"description": "Почтовый адрес", "value": null}, "issuerSerialNumber": {"description": "Серийный номер издателя", "value": "00"}"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" } }, "publicKeyCertificateInfo": {}, "description": "Информация об открытом ключе", "valueissuerKeyId": { "publicKeydescription": { "Ідентифікатор ключа видавця", "description "value": "Открытый ключ", "value": "FF EF A8 08 00 31 E3 2A D7 D6 BB EF 9E D4 49 79 9D 88 F7 BB 22 23 8F 0C 8D 5E 9D A9 4A FA 24 9B 00" 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" }, }, "dsAlgorism": {"description": "Алгоритм ЭЦП", "valuesubjectOwnerId": "ДСТУ 4145-2002, ПБ, little-endian"} { } }, "certificateSerialNumberdescription": { "Ідентифікатор власника", "description": "Серийный номер сертификата", "value": "5B00" 63 D8 83 75 D9 20 18 04 00 00 00 25 07 00 00 77 10 00 00" }, "notBefore": {"description": "Начало действия", "value": "Fri Feb 05 00:00:00 EET 2016"}, "notAfter": {"description": "Окончание действия", "valuecertificateProfile": "Mon Feb 05 00:00:00 EET 2018"}, { "extensionsCertificateInfo": { "description": "РасширенияПрофіль сертифіката", "value": { "personalDatavalue": {null "description": "Персональные данные"}, "valuekeyUsage": { "customId": {"description": "ВнешнийПризначення идентификаторсертифіката", "value": null}, "passport": {"descriptionvalue": "ПаспортныеЕлектронний данные"підпис, Невідрікаємість"value": null}, "drfou": {}, "description": "Регистрационный номер учетной карточки плательщика налогов","isTemporary": { "valuedescription": null"Стартовий", }, "value": "false" "edrpou": {"description": "Код ЕДПРОУ", "value": null}, "eddrunisReinforced": {"description": "Уникального номера записи в ЕГДР", "value": null} } "description": "Посилений", }, "alternativeOwnerNamevalue": {"true" "description": "Альтернативное имя владельца" }, "valueisQualified": "sergey.gorobets@unity-bars.com"{ }, "description": "Кваліфікований", "subjectKeyId": { "descriptionvalue": "Идентификатор ключаtrue", "value": "EF E5 01 81 59 F6 F3}, D2 FE E9 7B A7 42 77 69 93 87 20 D6 31 99 C8 59 D9 7C 28 7B D1 B5 D0 F4 0B""isPrivateKeyOnQSCD": { }, "subjectOwnerId": {"description": "ИдентификаторЗасіб владельцаКЕП", "value": "00"}, "certificateProfile": {"description": "Профиль сертификата", "value": null},"false" "keyUsage": {"description": "Назначение сертификата", "value": "Цифровая подпись, Неотрекаемость" }, "isTemporary "qscdTypeName": {"description": "Стартовый", "value": "false"}, "isReinforced": {"description": "Усиленный", "value": "true"}Тип засобу КЕП", } } }, "signingDateTimevalue": "Wed Dec 21 12:28:24 EET 2016", null }, "isElectronicStamp" : { "isValid": true }] |
Пример кода на JavaScript + jQuery 2.2.4
Code Block | ||
---|---|---|
| ||
$.ajax({ url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/ds/verifier", type"description": "GETЕлектронна печатка", dataType: "json", cache: false }).done(function (jsonResponse, textStatus, xhr) { message = jsonResponse.message;"value": "false" 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; } } }] }) |
...