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

Compare with Current View Page History

« Previous Version 4 Next »

Запрос служит для получения информации о ключах, которые содержит ключевой контейнер. Ключевой контейнер может содержать ключи ЭП, ключи согласования ключей или оба типа ключей одновременно.
Запрос также инициирует, в случае необходимости, диалоговую процедуру смены стартовых или действующих ключей.

Дилоговая процедура смены ключей

Для выполнения диалоговой процедуры смены ключей путь к ключевому контейнеру должен быть загружен с помощью специального запроса

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

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

Метод

PUT

Настраиваемые заголовки запроса
Content-Typeapplication/json
Параметры JSON объекта запроса
Имя
Тип
Описание
Допустимые значения

keyStorePassword

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

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


{
    "message" : "Помилка завантаження ключового контейнера: Невірний пароль до ключового контейнера або порушено його цілісність."
}
Параметры JSON объекта ответа
ПараметрТип данныхОписание
messageStringОписание результата проведения операции
 signatureПолучение данных о ключевом контейнереИнформация о возможности использовании ключа ЭП
 keyAgreementПолучение данных о ключевом контейнереИнформация о возможности использовании ключа согласования ключей

Поля объекта KeyUsageInfo

ПолеТип данныхОписание
canBeUsedBooleanКлюч присутствует в ключевом контейнере и нет ограничений на его использование
messageStringЕсли canBeUsed=false, то message содержит описание причины, по которой ключ не может быть использован.
Если canBeUsed=false, а message не содержит значения, то указанній ключ ключа отсутствует в ключевом контейнере.
Если canBeUsed=true, то message может содержать предупреждение, например, о том, что до окончания срока действия ключей осталось менее 14 дней, или о наличии в контейнере ранее сформированного запроса на смену ключей и т.п.
certificateInfoПолучение данных о ключевом контейнереДанные из сертификата ключа

Поля объекта CertificateInfo

ПолеТип данныхОписание
Получение данных о ключевом контейнере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*Алгоритм ЭП

Поля объекта  signerInfo.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]Значение поля

Пример объекта JSON объекта ответа

{
  "keyAgreement": {
    "canBeUsed": false,
    "certificateInfo": {},
    "message": ""
  },
  "signature": {
    "canBeUsed": true,
    "certificateInfo": {
      "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": "1AAAD3DEE6684A8F"
          },
          "ownerPosition": {
            "description": "Посада",
            "value": "Співробітник банку"
          },
          "ownerOrganization": {
            "description": "Організація",
            "value": "ПАТ "Кредобанк&quot"
          },
          "ownerOrganizationUnit": {
            "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": "UA-33349855-0002"
          }
        }
      },
      "publicKeyCertificateInfo": {
        "description": "Інформація про відкритий ключ",
        "value": {
          "publicKey": {
            "description": "Відкритий ключ",
            "value": "86 CA 20 5C 1D CA 25 8E 56 80 26 15 D6 5F 26 E9 1B 2B B5 12 D6 FE 9B B0 28 4B F2 05 D7 7E 38 57 00"
          },
          "dsAlgorism": {
            "description": "Алгоритм ЕП",
            "value": "ДСТУ 4145-2002, ПБ, little-endian"
          }
        }
      },
      "certificateSerialNumber": {
        "description": "Серійний номер сертифікату",
        "value": "B8 BF CA F0 E1 7D B9 1C"
      },
      "notBefore": {
        "description": "Початок дії",
        "value": "2018-09-11T09:22:11Z"
      },
      "notAfter": {
        "description": "Закінчення дії",
        "value": "2018-09-21T21:00:00Z"
      },
      "extensionsCertificateInfo": {
        "description": "Розширення",
        "value": {
          "personalData": {
            "description": "Персональні дані",
            "value": {
              "customId": {
                "description": "Зовнішній ідентифікатор",
                "value": "001"
              },
              "passport": {
                "description": "Паспортні дані",
                "value": "000123456"
              },
              "drfou": {
                "description": "Реєстраційний номер облікової картки платника податків",
                "value": "1234567891"
              },
              "edrpou": {
                "description": "Код ЕДПРОУ",
                "value": null
              },
              "eddrun": {
                "description": "Унікальний номер запису в ЄДДР",
                "value": "01010101010115"
              }
            }
          },
          "alternativeOwnerName": {
            "description": "Альтернативне ім'я власника",
            "value": "test@cipher.com"
          },
          "subjectKeyId": {
            "description": "Ідентифікатор ключа",
            "value": "D7 AE 17 4E B0 2B 38 68 8F D9 17 22 67 D1 5B AF 36 A2 5A 62 76 AA 44 94 86 C8 D9 42 E1 86 E8 9D"
          },
          "subjectOwnerId": {
            "description": "Ідентифікатор власника",
            "value": "1A AA D3 DE E6 68 4A 8F"
          },
          "certificateProfile": {
            "description": "Профіль сертифіката",
            "value": "3"
          },
          "keyUsage": {
            "description": "Призначеня сертифіката",
            "value": "Цифровий підпис"
          },
          "isTemporary": {
            "description": "Стартовий",
            "value": "false"
          },
          "isReinforced": {
            "description": "Посилений",
            "value": "false"
          }
        }
      }
    },
    "message": "До закінчення дії ключів залишилося менше 6 днів.Зверніться протягом 6 днів до центру реєстрації ключів для отримання нових ключів"
  }
}
Пример кода на JavaScript + jQuery 2.2.4
$.ajax({
    url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/{uuid}/keyStore/verifier",
    type: "PUT",
    dataType: "json",
	contentType: "application/json",
    data: JSON.stringify({keyStorePassword : "12345678"})
    cache: false
}).done(function (jsonResponse, textStatus, xhr) {
    containerInfo = 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