Запрос служит для получения результата проверки ЭЦП. Запрос является блокирующим, то есть результат будет получен только после завершения процесса проверки ЭЦП, если такой был ранее запущен. Если ЭЦП действительна, будет возвращен Запит служить для отримання результату перевірки ЕП. Запит є блокуючим, то результат буде отримано лише після завершення процесу перевірки ЕП, якщо такий був раніше запущено. Якщо ЕП дійсна, то буде повернуто HTTP статус код 200. Если в ЭЦП не действительна или в процессе ее непосредственной проверки возникли ошибки, будет возвращен HTTP Якщо ЕП не дійсний чи у процесі її безпосередньої перевірки виникають помилки, буде повернуто HTTP статус код 406. При возникновении других типов ошибок, возвращаются HTTP статус коды 503 или появі інших типів помилок, повертаються HTTP статус коди 503 чи 400.
URL-
...
адреса запиту
https://localhost:9092ccs-dev-api.cipher.kiev.ua/ccs/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 - |
...
ЕП не дійсний | ||
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": "Реєстраційний номер облікової картки платника податків",
|
Поле | Тип данных | Описание |
---|---|---|
Получение результата проверки ЭЦП | 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* | Регистрационный номер учетной карточки плательщика налогов |
edrpou | Object* | Код ЕДПРОУ |
eddrun | Object* | Уникальный номер записи в ЕГДР |
...
Поле | Тип данных | Описание |
---|---|---|
description | String | Описание поля на языке, который выбран пользователем в Сервисе |
value | [Object, String, Boolean, Number, Array, null] | Значение поля |
Пример объекта signerInfo
Code Block |
---|
"message": "Цифровая подпись действительна.", "verifyResults": [{ "status": "SUCCESS", "signerInfo": { "ownerCertificateInfo": { "descriptionvalue": "Владелец2031914098", "value": { "ownerSurname": {"description": "Фамилия", "value": "Горобець"}, "ownerGivenname": {"description": "Имя отчество", "value": "Сергій Миколайович"}, "ownerFullNameedrpou": {"description": "Полное имя", "value": "Горобець Сергій Миколайович"}, "ownerCountry": {"description": "Страна", "value": "UA"}Код ЕДПРОУ", "ownerRegion": {"description": "Область", "value": "Київська"}, "ownerCity": {"description": "Город", "value": "Київ"},null "ownerAddress": {"description": "Почтовый адрес", "value": null}, }, "ownerSerialNumber": {"description": "Серийный номер владельца", "value": "00"}, "ownerPositioneddrun": {"description": "Должность", "value": "Фізична особа"} } }, "issuerCertificateInfodescription": { "Унікальний номер запису в ЄДДР", "description": "Издатель", "value": { "value": null "issuerOrganization": {"description": "Организация", "value": "\"АТ \\\"ІІТ\\\"\""}, "issuerDepartment": {"description": "Подразделение", "value": "Тестовий ЦСК"}, } "issuerFullName": {"description": "Полное имя", "value": "\"Тестовий ЦСК АТ \\\"ІІТ\\\"\""}, "issuerCountry": {"description": "Страна", "value": "UA" }, "issuerRegion "alternativeOwnerName": {"description": "Область", "value": "Харківська"}, "issuerCity": {"description": "Город", "value": "Харків"}Альтернативне ім'я власника", "issuerAddress": {"description": "Почтовый адрес", "value": null}, "issuerSerialNumber": {"description": "Серийный номер издателя", "value": "00"} }, } }, "publicKeyCertificateInfosubjectKeyId": { "description": "Информация об открытом ключеІдентифікатор ключа", "value": { "publicKeyvalue": { "description": "Открытый ключ", "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" "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" "issuerKeyId": { }, "dsAlgorism": {"description": "Алгоритм ЭЦП", "value "description": "ДСТУ 4145-2002, ПБ, little-endian"}Ідентифікатор ключа видавця", } }, "certificateSerialNumbervalue": { "20 B4 E4 ED 0D 30 99 8C BE 30 6A "description": "Серийный номер сертификата", "value": "5B 63 D8 83 75 D9 20 18 04 00 00 00 25 07 00 00 77 10 00 00" 07 7D 69 9A 32 73 23 8A E9 09 08 71 D6 16 37 0E 18 E5 76 D4 7F" }, "notBefore": {"description": "Начало действия", "value": "Fri Feb 05 00:00:00 EET 2016"}, "notAfter": {"description": "Окончание действия", "valuesubjectOwnerId": "Mon Feb 05 00:00:00 EET 2018"}, { "extensionsCertificateInfo": { "description": "РасширенияІдентифікатор власника", "value": { "personalDatavalue": {"00" "description": "Персональные данные", }, "valuecertificateProfile": { "customId": {"description": "ВнешнийПрофіль идентификаторсертифіката", "value": null}, "passport": {"description": "Паспортные данные", "value": null }, "drfoukeyUsage": { "description": "Регистрационный номер учетной карточки плательщика налоговПризначення сертифіката", "value": null "Електронний підпис, Невідрікаємість" }, "edrpouisTemporary": {"description": "Код ЕДПРОУ", "value": null}, "eddrundescription": {"description": "Уникального номера записи в ЕГДР",Стартовий", "value": null} "false" }, }, "isReinforced": { "alternativeOwnerName": { "description": "Альтернативное имя владельцаПосилений", "value": "sergey.gorobets@unity-bars.comtrue" }, "subjectKeyId "isQualified": { "description": "Идентификатор ключаКваліфікований", "value": "EFtrue" 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": "Идентификатор владельца", "valuedescription": "00Засіб КЕП"}, "certificateProfile": {"description": "Профиль сертификата", "value": null},"false" "keyUsage": {"description": "Назначение сертификата", "value": "Цифровая подпись, Неотрекаемость"}, }, "isTemporaryqscdTypeName": {"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://localhost:9092/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; } } }] }) |