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

Compare with Current View Page History

« Previous Version 14 Next »

Запит служить для отримання даних сертифікату ключа, який знаходиться в ключовому контейнері сесії. Якщо ключ вказаного типу відсутній, будет повернено порожній JSON обʼєкт. 

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

https://local.cipher.kiev.ua:9090/api/v1/ticket/{uuid}/keyStore/certificate/info/{keyType}

Метод

PUT

Параметри запиту
uuidStringІдентифікатор сесії
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Опис причини виникнення помилки
ownerCertificateInfoObject*Інформація про власника
issuerCertificateInfoObject*Інформація про видавця
publicKeyCertificateInfoObject*Інформація про відкритий ключ
certificateSerialNumberObject*Серійний номер сертифікату
notBeforeObject*Початок дії
notAfterObject*Завершення строку дії
extensionsCertificateInfoObject*Розширення

Поля обʼєкта 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

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

Поля обʼєкта  extensionsCertificateInfo.value.personalData.value   

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

edrpou

Object*Код ЄДРПОУ

eddrun

Object*

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

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

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

Приклад даних сертифікату

{
    "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"},
			"isQualified": {"description": "Кваліфікований", "value": "false"},
            "isPrivateKeyOnQSCD": {"description": "Засіб КЕП", "value": "false"},
            "qscdTypeName": {"description": "Тип засобу КЕП", "value": null},
            "isElectronicStamp" : {"description": "Електронна печатка", "value": "false"}
        }
    }
}
Приклад коду на JavaScript + jQuery 2.2.4
$.ajax({
    url: "https://local.cipher.kiev.ua:9090/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