Versions Compared

Key

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

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

...

ПолеТип данныхОписание
Получение результата проверки ЭЦПЭПObject*Информация о владельце
Получение результата проверки ЭЦПЭПObject*Информация об издателе
Получение результата проверки ЭЦПЭПObject*Информация об открытом ключе
certificateSerialNumberObject*Серийный номер сертификата
notBeforeObject*Начало действия
notAfterObject*Окончание действия
Получение результата проверки ЭЦПЭПObject*Расширения

Поля объекта

Anchor
ownerCertificateInfo
ownerCertificateInfo
Получение результата проверки ЭЦПЭП.ownerCertificateInfo.value

...

Поля объекта 

Anchor
issuerCertificateInfo
issuerCertificateInfo
 Получение результата проверки ЭЦПЭП.issuerCertificateInfo.value

...

Поля объекта 

Anchor
publicKeyCertificateInfo
publicKeyCertificateInfo
 Получение результата проверки ЭЦПЭП.publicKeyCertificateInfo.value

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

Поля объекта 

Anchor
extensionsCertificateInfo
extensionsCertificateInfo
 Получение результата проверки ЭЦПЭП.extensionsCertificateInfo.value

ПолеТип данныхОписание
Получение результата проверки ЭЦПЭПObject*Персональные данные
alternativeOwnerNameObject*Альтернативное имя владельца
subjectKeyIdObject*Идентификатор ключа
subjectOwnerIdObject*Идентификатор владельца
certificateProfileObject*Профиль сертификата
keyUsageObject*Назначение сертификата
isTemporaryObject*Признак стартового сертификата
isReinforcedObject*Признак усиленного сертификата

Поля объекта 

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

...

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

Code Block
"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
Code Block
languagejs
$.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;
    }
})

...