You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Next »

Запит служить для отримання результату перевірки ЕП. Запит є блокуючим, тобто результат буде отримано лише після завершення процесу перевірки ЕП, якщо таким був раніше запущено. Якщо ЕП дійсний, буде повернуто HTTP статус код 200. Якщо ЕП недійсна чи в процесі її безпосередньої перевірки виникли помилки. буде повернуто HTTP статус код 406. При виникненні інших типів помилок, повертається HTTP статус коди 503 чи 400.

URL-адреса запиту

https://localhost:9092/api/v1/ticket/{uuid}/ds/verifier

Метод

GET

Параметри запиту
uuidStringІдентифікатор сесії
Налаштовувані заголовки запиту

Відсутні

Відповідь
Код відповідіContent-typeДопустимі параметриПриклад вмісту
200application/jsonmessage
verifyResults 
{
"message" : "Електронний підпис дійсний.",
"verifyResults" : Array
}
503application/jsonmessage
{
   "message" : "Сервіс виконання криптографічних операцій не запущено."
}
400application/jsonmessage
{
   "message" : "Сесія відсутня."
}
406application/jsonmessage
verifyResults
failureCause
{
   "message" : "Електронний підпис не дійсний.",
"failureCause" : "",
"verifyResults" : Array
}
Параметри JSON обʼєкта відповіді
ПараметрТип данихОпис
messageStringОпис результату проведення операції
failureCause StringОпис причини виникнення помилки, яка зʼявилась при виконанні запиту на перевірку ЕП
verifyResultsArrayРезультати перевірки окремо по кожній з ЕП

Поля елемента масиву verifyResults

ПолеТип данихОпис
statusString"SUCCESS" - перевірка ЕП здійснена без помилок
"FAILURE" - в процесі перевірки ЕП виникли помилки
failureCauseStringОпис причини виникнення помилки, які зʼявились при безпоседерній перевірці ЕП
signerInfoObjectІнформація з сертифіката власника ЕП
signingDateTimeStringЧас створення ЕП
isValidBooleanДля перевірки підпису використовується час створення підпису, яке завірено електронною позначкою часу підпису, поточний час операційного середовища.
true - ЕП дійсний
false - ЕП недійсний
contentTimestampObjectРезультат перевірки ЕПЧ даних, для яких буде створена ЕП
signatureTimestampsArrayРезультаты перевірки ЕПЧ підпису
isUntrustedValidBoolean

Для перевірки підпису використовується час створення підпису, який не завірено ЕПЧ.
true - ЕП дійсний
false - ЕП недійсний

Поля обʼєкта contentTimestamp, елемент масиву signatureTimestamps

ПолеТип данихОпис
isValidBooleantrue - ЕПЧ дійсна
false - ЕПЧ недійсна
isFailureBooleantrue - при перевірці ЕПЧ виникла помилка
false - при перевірці ЕПЧ помилок не виникло
dateTimeDateTimeЗначення дати та часу в форматі ISO 8601, яке завірено ЕПЧ
tsaCertificateSerialNumberObject*Серійний номер сертифікату TSP-сервера

Поля обʼєкта signerInfo

ПолеТип данихОпис
Отримання результату перевірки ЕПObject*Інформація про власника
Отримання результату перевірки ЕПObject*Інформація про видавця
Отримання результату перевірки ЕПObject*Інформація про відкритий ключ
certificateSerialNumberObject*Серійний номер сертифікату
notBeforeObject*Початок дії
notAfterObject*Завершення дії
Отримання результату перевірки ЕПObject*Розширення

Поля обʼєкта Отримання результату перевірки ЕП.ownerCertificateInfo.value

ПолеТип данихОпис
ownerSurnameObject*Прізвище
ownerGivennameObject*Імʼя по батькові
ownerFullNameObject*Повне імʼя
ownerCountryObject*Країна
ownerRegionObject*Область
ownerCityObject*Населений пункт
ownerAddressObject*Поштова адреса
ownerSerialNumberObject*Серійний номер власника
ownerPositionObject*Посада

Поля обʼєкта  Отримання результату перевірки ЕП.issuerCertificateInfo.value

ПолеТип данихОпис
issuerOrganizationObject*Організація
issuerDepartmentObject*Підрозділ
issuerFullNameObject*Повне імʼя
issuerCountryObject*Країна
issuerRegionObject*Область
issuerCityObject*Населений пункт
issuerAddressObject*Поштова адреса
issuerSerialNumberObject*Серійний номер видавця

Поля обʼєкта Отримання результату перевірки ЕП.publicKeyCertificateInfo.value

ПолеТип данихОпис
publicKeyObject*Відкритий ключ
dsAlgorismObject*Алгоритм ЕП

Поля обʼєкта Отримання результату перевірки ЕП.extensionsCertificateInfo.value

ПолеТип данихОпис
Отримання результату перевірки ЕПObject*Персональні дані
alternativeOwnerNameObject*Алтернативне імʼя власника
subjectKeyIdObject*Ідентифікатор ключа
issuerKeyIdObject*Ідентифікатор ключа видавця
subjectOwnerIdObject*Ідентифікатор власника
certificateProfileObject*Профіль сертифікату
keyUsageObject*Призначення сертифікату
isTemporaryObject*Ознака стартового сертифікату
isReinforcedObject*Ознанка посиленого сертифікату
isQualifiedObject*Ознака кваліфікованого сертифікату
isPrivateKeyOnQSCDObject*Ознака засобів КЕП
qscdTypeNameObject*Тип засобу КЕП
isElectronicStampObject*Ознака електронної печатки

Поля обʼєкта Отримання результату перевірки ЕП.Отримання результату перевірки ЕП.value.personalData.value   

ПолеТип данихОпис
customIdObject*Зовнішній ідентифікатор
passportObject*Паспортні дані
drfouObject*Реєстраційний номер облікової картки платника податків

edrpou

Object*Код ЄДРПОУ

eddrun

Object*

Унікальний номер запису в ЄДР

Поля обʼєкта типу Object* 

ПолеТип данихОпис
descriptionStringОпис поля на мові, який обрано користувачем у Сервісі
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": "false"
                        },
                        "isPrivateKeyOnQSCD": {
                            "description": "Засіб КЕП",
                            "value": "false"
                        },
                        "qscdTypeName": {
                            "description": "Тип засобу КЕП",
                            "value": null
						},
                        "isElectronicStamp" : {
  							"description": "Електронна печатка",
							"value": "false"
						}
                    }
                }
            }
        }
    ]
}
Приклад коду на JavaScript + jQuery 2.2.4
$.ajax({
    url: "https://localhost:9092/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;
    }
})
  • No labels