Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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

https://ccs-dev-api.cipher.kiev.ua/ccs

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

URL-адрес запроса

https://localhost:9094/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Час створення ЕП
isValidBooleantrue - ЕП дійсний
false -
ЕП не дійсний
contentTimestampObjectРезультат перевірки електронної позначки часу (ЕПЧ) даних для яких було створено ЕП
signatureTimestampsArrayРезультати перевірки ЕПЧ електронного підпису
isUntrustedValidBooleanДля перевірки ЕП використовується час створення ЕП, яке не завірено ЕПЧ.
true -
ЕП дійсна
false -

Поля объекта contentTimestamp, элемента массива signatureTimestamps

...

ЕП не дійсний
signatureTypeString

Тип електронного підпису.
Можливі значення:

  • DETACHED
  • ATTACHED
  • ASIC_S
  • ASIC_E
signatureFormatString

Формат електронного підпису.
Можливі значення:

  • CADES_BES
  • CADES_C
  • CADES_T
  • CADES_X_LONG
  • XADES_B_B
  • XADES_B_T
  • XADES_B_LT
  • XADES_B_LTA

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

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

Поля обʼєкта

Anchor
signerInfo
signerInfo
signerInfo

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

Поля обʼєкта

Anchor
ownerCertificateInfo
ownerCertificateInfo
signerInfo.ownerCertificateInfo.value

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

Поля обʼєкта 

Anchor
issuerCertificateInfo
issuerCertificateInfo
 signerInfo.issuerCertificateInfo.value

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

Поля обʼєкта 

Anchor
publicKeyCertificateInfo
publicKeyCertificateInfo
 signerInfo.publicKeyCertificateInfo.value

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

Поля обʼєкта 

Anchor
extensionsCertificateInfo
extensionsCertificateInfo
 signerInfo.extensionsCertificateInfo.value

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

Поля обʼєкта 

Anchor
personalData
personalData
 signerInfo.extensionsCertificateInfo.value.personalData.value   

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

edrpou

Object*Код ЄДРПОУ

eddrun

Object*

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

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

Anchor
CertObject
CertObject
Object* 

ПолеТип данихОпис
descriptionStringОпис поля на мові, який обрано користувачем у Сервісі
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
                                },
                    

...

ПолеТип данныхОписание
ownerSurnameObject*Фамилия
ownerGivennameObject*Имя отчество
ownerFullNameObject*Полное имя
ownerCountryObject*Страна
ownerRegionObject*Область
ownerCityObject*Город
ownerAddressObject*Почтовый адрес
ownerSerialNumberObject*Серийный номер владельца
ownerPositionObject*Должность

...

ПолеТип данныхОписание
customIdObject*Внешний идентификатор
passportObject*Паспортные данные
drfouObject*Регистрационный номер учетной карточки плательщика налогов

edrpou

Object*Код ЕДПРОУ

eddrun

Object*

Уникальный номер записи в ЕГДР

...

ПолеТип данныхОписание
descriptionStringОписание поля на языке, который выбран пользователем в Сервисе
value[Object, String, Boolean, Number, Array, null]Значение поля

Пример объекта signerInfo

Code Block
"message": "Электронная подпись действительна.",
"verifyResults": [{
    "status": "SUCCESS",
    "signerInfo": {
        "ownerCertificateInfo": {
            "descriptiondrfou": "Владелец",{
            "value": {
                       "ownerSurname": {"description": "Фамилия", "value": "Горобець"}Реєстраційний номер облікової картки платника податків",
                "ownerGivenname": {"description": "Имя отчество", "value": "Сергій Миколайович"},
                "ownerFullNamevalue": {"description": "Полное имя", "value": "Горобець Сергій Миколайович"},
2031914098"
                            "ownerCountry": {"description": "Страна", "value": "UA"},
                             "ownerRegion": {"description": "Область", "valueedrpou": "Київська"},{
                "ownerCity": {"description": "Город", "value": "Київ"},
                   "ownerAddress": {"description": "ПочтовыйКод адресЕДПРОУ", "value": null},

                      "ownerSerialNumber": {"description": "Серийный номер владельца", "value": "00"},
        "value": null
       "ownerPosition": {"description": "Должность", "value": "Фізична особа"}
            }
        },
        "issuerCertificateInfo": {
            "description": "Издатель",
            "valueeddrun": {
                "issuerOrganization": {"description": "Организация", "value": "\"АТ \\\"ІІТ\\\"\""},
                "issuerDepartment": {"description": "Подразделение", "value": "Тестовий ЦСК"},
Унікальний номер запису в ЄДДР",
                  "issuerFullName": {"description": "Полное имя", "value": "\"Тестовий ЦСК АТ \\\"ІІТ\\\"\""},
                  "value": null
      "issuerCountry": {"description": "Страна", "value": "UA"},
                   "issuerRegion": {"description": "Область", "value": "Харківська"},
                 "issuerCity": {"description": "Город", "value": "Харків"},
           }
           "issuerAddress": {"description": "Почтовый адрес", "value": null},
        },
        "issuerSerialNumber": {"description": "Серийный номер издателя", "value": "00"}
            }"alternativeOwnerName": {
        },
        "publicKeyCertificateInfo": {
            "description": "ИнформацияАльтернативне об открытом ключеім'я власника",
            "value": {
                "publicKeyvalue": {null
                      "description": "Открытый ключ",
},
                        "valuesubjectKeyId": "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"
 {
                            "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": "5B 63 D8 83 75 D9 20 18 04 00 00 00 25 07 00 00 77 10 00 00"
            "issuerKeyId": {
                   },
        "notBefore": {"description": "НачалоІдентифікатор ключа действиявидавця", "value": "Fri Feb 05 00:00:00 EET 2016"},

                       "notAfter": {"description": "Окончание действия",     "value": "Mon20 B4 FebE4 05 00:00:00 EET 2018"},
        "extensionsCertificateInfo": {
            "description": "Расширения",
   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"
         "value": {
              },
  "personalData": {
                      "descriptionsubjectOwnerId": "Персональные данные",
 {
                            "valuedescription": {"Ідентифікатор власника",
                        "customId": {"description": "Внешний идентификатор", "value": null},"00"
                        "passport": {"description": "Паспортные данные", "value": null  },
                        "drfoucertificateProfile": {
                            "description": "Регистрационный номер учетной карточки плательщика налоговПрофіль сертифіката",
                            "value": null
                        },
                        "edrpoukeyUsage": {"description": "Код ЕДПРОУ", "value": null},

                            "eddrundescription": {"description": "Уникального номера записи в ЕГДР",Призначення сертифіката",
                            "value": null}
 "Електронний підпис, Невідрікаємість"
                        },
                },
        "isTemporary": {
       "alternativeOwnerName": {
                    "description": "Альтернативное имя владельцаСтартовий",
                            "value": "sergey.gorobets@unity-bars.comfalse"
                        },
                        "subjectKeyIdisReinforced": {
                            "description": "Идентификатор ключаПосилений",
                     "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""value": "true"
                        },
                },
        "isQualified": {
       "issuerKeyId": {
                     "description": "Ідентифікатор ключа видавця",
Кваліфікований",
                            "value": "20true"
   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"
                },"isPrivateKeyOnQSCD": {
                "subjectOwnerId": {"description": "Идентификатор владельца", "value            "description": "00Засіб КЕП"},
                     "certificateProfile": {"description": "Профиль сертификата",       "value": null},"false"
                "keyUsage": {"description": "Назначение сертификата", "value": "Электронная подпись, Неотрекаемость"        },
                "isTemporary": {"description": "Стартовый", "value": "false"},
        "qscdTypeName": {
                         "isReinforced": {   "description": "Усиленный", "value": "true"}Тип засобу КЕП",
            }
        }
    },
    "signingDateTimevalue": "Wed Dec 21 12:28:24 EET 2016",
null
						},
						"isElectronicStamp" : {
                 "isValid": true
}]
Пример кода на JavaScript + jQuery 2.2.4
Code Block
languagejs
$.ajax({
    url: "https://localhost:9094/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;}
    }]
})