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

Compare with Current View Page History

Version 1 Next »

Запрос служит для получения данных сертификата ключа, который находится в ключевом контейнере сессии.  Если ключ указанного типа  отсутствует, будет возвращен пустой JSON объект. 

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

https://localhost:9094/api/v1/ticket/{uuid}/keyStore/certificate/info/{keyType}

Метод

PUT

Параметры запроса
keyTypeStringТип ключаДопустимые значения:
signature - цифровая подпись
keyAgreement - согласование секретного ключа для шифрования данных
Настраиваемые заголовки запроса
Content-Typeapplication/json
Параметры JSON объекта запроса
Имя
Тип
Описание
Допустимые значения

keyStorePassword

StringПароль к ключевому контейнеру сесииСтрока, которая представляет собой пароль для доступа к ключевому контейнеру сессии. Ключевой контейнер сессии должен быть ранее загружен с помощью специального запроса.
Ответ
Код ответаContent-typeДопустимые параметрыПример содержимого
200application/jsonownerCertificateInfo
issuerCertificateInfo

publicKeyCertificateInfo
certificateSerialNumber
notBefore
notAfter
extensionsCertificateInfo
 
503application/jsonmessage
{
    "message" : "Сервис хранения данных не запущен."
}
500application/jsonmessage
failureCause

{
    "message" : "Ошибка при получение информации о сертификате.",
"failureCause" : ""
}
Параметры JSON объекта ответа
ПараметрТип данныхОписание
messageStringОписание результата проведения операции
failureCause StringОписание причины возникновения ошибки, которая возникла при выполнении запроса на проверку ЭЦП
Получение данных сертификата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

{
    "ownerCertificateInfo": {
        "description": "Власник",
        "value": {
            "ownerSurname": {"description": "Прізвище", "value": "Тестовый"},
            "ownerGivenname": {"description": "Імя по-батькові", "value": "Сертификат6 Стартовый"},
            "ownerFullName": {"description": "Повне ім'я", "value": "Тестовый Сертификат 6"},
            "ownerCountry": {"description": "Країна", "value": "ua"},
            "ownerRegion": {"description": "Область", "value": "Харьковская"},
            "ownerCity": {"description": "Місто", "value": "Харьков"},
            "ownerAddress": {"description": "Поштова адреса", "value": "\"пр. Науки"},
            "ownerSerialNumber": {"description": "Серійний номер власника", "value": "46 30 07 62 53 88 0D 40"},
            "ownerPosition": {"description": "Посада", "value": "Разработчик"}
        }
    },
    "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": "46 30 07 62 53 88 0D 40"}
        }
    },
    "publicKeyCertificateInfo": {
        "description": "Інформація про відкритий ключ",
        "value": {
            "publicKey": {
                "description": "Відкритий ключ",
                "value": "8D 39 4C DA 49 7D 1D A7 46 92 FE 97 A4 1D 0B AD C3 B0 9F 1B 5C 07 8C 79 31 72 36 92 40 08 2E 13 00"
            }, "dsAlgorism": {"description": "Алгоритм ЕЦП", "value": "ДСТУ 4145-2002, ПБ, little-endian"}
        }
    }, "certificateSerialNumber": {"description": "Серійний номер сертифікату", "value": "E5 69 8B B0 4D A1 BF 2F"},
    "notBefore": {"description": "Початок дії", "value": "Sat Nov 19 00:00:00 EET 2016"},
    "notAfter": {"description": "Закінчення дії", "value": "Sun Nov 19 00:00:00 EET 2017"},
    "extensionsCertificateInfo": {
        "description": "Розширення",
        "value": {
            "personalData": {
                "description": "Персональні дані",
                "value": {
                    "customId": {"description": "Зовнішній ідентифікатор", "value": "000006"},
                    "passport": {"description": "Паспортні дані", "value": "КН000006"},
                    "drfou": {"description": "Реєстраційний номер облікової картки платника податків", "value": null},
                    "edrpou": {"description": "Код ЕДПРОУ", "value": null},
                    "eddrun": {"description": "Унікальний номер запису в ЄДДР", "value": null}
                }
            },
            "alternativeOwnerName": {"description": "Альтернативне ім'я власника", "value": "test@cipher.com"},
            "subjectKeyId": {
                "description": "Ідентифікатор ключа",
                "value": "B6 2F CE 32 A7 23 48 AB FB 26 F1 5A 4C 04 F9 1A 5E CF 03 D4 98 3E 86 AC 07 32 75 8D 59 37 4C A0"
            },
            "subjectOwnerId": {"description": "Ідентифікатор власника", "value": "46 30 07 62 53 88 0D 40"},
            "certificateProfile": {"description": "Профіль сертифіката", "value": "3"},
            "keyUsage": {"description": "Призначеня сертифіката", "value": "Цифровий підпис, Невідрікаємість"},
            "isTemporary": {"description": "Стартовий", "value": "false"},
            "isReinforced": {"description": "Посилений", "value": "false"}
        }
    }
}
Пример кода на JavaScript + jQuery 2.2.4
$.ajax({
    url: "https://localhost:9094/api/v1/ticket/{uuid}/keyStore/certificateInfo/signature",
    type: "PUT",
    dataType: "json",
	contentType: "application/json",
    data: JSON.stringify({keyStorePassword : "12345678"})
    cache: false
}).done(function (jsonResponse, textStatus, xhr) {
    certInfo = jsonResponse;
}).fail(function (xhr) {
    try {
        var jsonResponse = JSON.parse(xhr.responseText);
        message = jsonResponse.message;
        failureCause = jsonResponse.failureCause; 
    } catch (e) {
        message = (xhr.responseText == undefined) ? "Ошибка при получении дынныхсертификата." : xhr.responseText;
    }
})

 


  • No labels