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

Compare with Current View Page History

« Previous Version 5 Next »

Запрос служит для получения результата проверки ЭП. Запрос является блокирующим, то есть результат будет получен только после завершения процесса проверки ЭП, если такой был ранее запущен. Если ЭП действительна, будет возвращен 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

ПолеТип данныхОписание
isValidBooleantrue - ЭМВ действительна
false - ЭМВ недействительна
isFailureBooleantrue - при проверке ЭМВ возникла ошибка
false - при проверке ЭМВ ошибок не возникало
dateTimeDateTimeЗначение даты и времени в формате ISO 8601, которое заверено ЭМВ

Поля объекта 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*Идентификатор ключа
subjectOwnerIdObject*Идентификатор владельца
certificateProfileObject*Профиль сертификата
keyUsageObject*Назначение сертификата
isTemporaryObject*Признак стартового сертификата
isReinforcedObject*Признак усиленного сертификата

Поля объекта  Получение результата проверки ЭП.Получение результата проверки ЭП.value.personalData.value   

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

edrpou

Object*Код ЕДПРОУ

eddrun

Object*

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

Поля объекта типа Object* 

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

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

"message": "Электронная подпись действительна.",
"verifyResults": [{
    "status": "SUCCESS",
    "signerInfo": {
        "ownerCertificateInfo": {
            "description": "Владелец",
            "value": {
                "ownerSurname": {"description": "Фамилия", "value": "Горобець"},
                "ownerGivenname": {"description": "Имя отчество", "value": "Сергій Миколайович"},
                "ownerFullName": {"description": "Полное имя", "value": "Горобець Сергій Миколайович"},
                "ownerCountry": {"description": "Страна", "value": "UA"},
                "ownerRegion": {"description": "Область", "value": "Київська"},
                "ownerCity": {"description": "Город", "value": "Київ"},
                "ownerAddress": {"description": "Почтовый адрес", "value": null},
                "ownerSerialNumber": {"description": "Серийный номер владельца", "value": "00"},
                "ownerPosition": {"description": "Должность", "value": "Фізична особа"}
            }
        },
        "issuerCertificateInfo": {
            "description": "Издатель",
            "value": {
                "issuerOrganization": {"description": "Организация", "value": "\"АТ \\\"ІІТ\\\"\""},
                "issuerDepartment": {"description": "Подразделение", "value": "Тестовий ЦСК"},
                "issuerFullName": {"description": "Полное имя", "value": "\"Тестовий ЦСК АТ \\\"ІІТ\\\"\""},
                "issuerCountry": {"description": "Страна", "value": "UA"},
                "issuerRegion": {"description": "Область", "value": "Харківська"},
                "issuerCity": {"description": "Город", "value": "Харків"},
                "issuerAddress": {"description": "Почтовый адрес", "value": null},
                "issuerSerialNumber": {"description": "Серийный номер издателя", "value": "00"}
            }
        },
        "publicKeyCertificateInfo": {
            "description": "Информация об открытом ключе",
            "value": {
                "publicKey": {
                    "description": "Открытый ключ",
                    "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"
                }, "dsAlgorism": {"description": "Алгоритм ЭП", "value": "ДСТУ 4145-2002, ПБ, little-endian"}
            }
        },
        "certificateSerialNumber": {
            "description": "Серийный номер сертификата",
            "value": "5B 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": "Окончание действия", "value": "Mon Feb 05 00:00:00 EET 2018"},
        "extensionsCertificateInfo": {
            "description": "Расширения",
            "value": {
                "personalData": {
                    "description": "Персональные данные",
                    "value": {
                        "customId": {"description": "Внешний идентификатор", "value": null},
                        "passport": {"description": "Паспортные данные", "value": null},
                        "drfou": {
                            "description": "Регистрационный номер учетной карточки плательщика налогов",
                            "value": null
                        },
                        "edrpou": {"description": "Код ЕДПРОУ", "value": null},
                        "eddrun": {"description": "Уникального номера записи в ЕГДР", "value": null}
                    }
                },
                "alternativeOwnerName": {
                    "description": "Альтернативное имя владельца",
                    "value": "sergey.gorobets@unity-bars.com"
                },
                "subjectKeyId": {
                    "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"
                },
                "subjectOwnerId": {"description": "Идентификатор владельца", "value": "00"},
                "certificateProfile": {"description": "Профиль сертификата", "value": null},
                "keyUsage": {"description": "Назначение сертификата", "value": "Электронная подпись, Неотрекаемость"},
                "isTemporary": {"description": "Стартовый", "value": "false"},
                "isReinforced": {"description": "Усиленный", "value": "true"}
            }
        }
    },
    "signingDateTime": "Wed Dec 21 12:28:24 EET 2016",
    "isValid": true
}]
Пример кода на JavaScript + jQuery 2.2.4
$.ajax({
    url: "https://localhost:9094/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