Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Восстановить из v. 5

Для использования в качестве ключевого контейнера сессии загружается:

  • файловый контейнер в кодировке base64 в формате PKCS#12, проприетарных форматах ИИТ

??? ????????????? ? ???????? ????????? ?????????? ?????? ???????????:

  • ???????? ????????? ? ????????? base64 ? ??????? PKCS#12, ????????????? ???????? ??? ("Key-6.dat", "?????????? Приватбанк jks", "??????? ZS2"). ? ?????? ???????? ???????? ??? ?????????? ???????? ???????? ??, ???????????? ? ????????????? ????? ?????????????? ?????? ???? ?, ? ?????? ???????, ?????????? (??????? ????????????) ?? ???????????? ????????? ??????????.
  • ???? ? ??????????? ??????? ? ????????? ?????????? ??? ??????????? ???????? ? ?????????? PKCS#11 ? ???????? (?????????) ??????.
  • Украина ZS2"). В случае успешной загрузки при выполнении операций создания ЭП, зашифрования и расшифрования будет использоваться личный ключ и, в случае наличия, сертификат (цепочка сертификатов) из загруженного файлового контейнера.
  • путь в специальном формате к файловому контейнеру или аппаратному носителю с поддержкой PKCS#11 в активном (пассивном) режиме.

Путь к аппаратному носителю с поддержкой PKCS#11, который подключен к компьютеру, на котором выполняется сервис, необходимо получить посредством запроса ???? ? ??????????? ???????? ? ?????????? PKCS#11, ??????? ????????? ? ??????????, ?? ??????? ??????????? ??????, ?????????? ???????? ??????????? ??????? https://docs.cipher.kiev.ua/x/GYOD.

???? ? ??????? ???????????? ???????????? ?????? ????????? ????????? ?????????? ? ???? ? ????????? ??????????, ?? ????? ??????????? ?????? ????.

???? ?????????? ????????? ??? ?????? ???? ????????? ? ?????? ????????? ??????????, ? ???? ? ????????? ??????????, ?? ????? ??????????? ?????? ????.

?????? ????????? ?????????? ?????? ????????? ? ??????????? ?????? ? ??????? ???????? ?? ??????? ???????? ?????? ? ?????????? ??????????? ??????? Java ??????????? ????????? ?????? ??????. ?????? ????????? ?????????? ??????? ?? ??????????? ???????? ? ????, ???? ?????? ??? ?????? ??????? ??? ????????????? ???????? ??????????.  

...

Если в запросе одновременно присутствуют данные файлового ключевого контейнера и путь к ключевому контейнеру, то будет использован только путь.

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

Данные ключевого контейнера сессии находятся в оперативной памяти с момента загрузки до момента удаления сессии и выполнения виртуальной машиной Java последующей процедуры сборки мусора. Данные ключевого контейнера НИКОГДА не сохраняются сервисом в файл, базу данных или другие объекты для долгосрочного хранения информации.  

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

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

...

Метод

PUT

...

Параметры запроса
uuidString????????????? ??????

...

Идентификатор сессии
Настраиваемые заголовки запроса
Content-Typeapplication/json
????????? JSON ??????? ???????
???
???
????????
?????????? ????????
base64Data
String???????? ????????? ? ????????? Base64????????? ?????????????? Base64 ??????
keyStorePathString

???? ? ??????????? ??????? ? ????????? ?????????? ??? ??????????? ???????? ? ?????????? PKCS#11

??? ????????? ?????? ???????????? ?????????? ????????? ?????????? ???????????? ??????
?????
Параметры JSON объекта запроса
Имя
Тип
Описание
Допустимые значения
base64Data
StringФайловый контейнер в кодировке Base64Правильно закодированная Base64 строка
keyStorePathString

Путь в специальном формате к файловому контейнеру или аппаратному носителю с поддержкой PKCS#11

Для получения списка подключенных аппаратных носителей необходимо использовать запрос
Ответ
Код ответаContent-typeДопустимые параметрыПример содержимого??? ??????Content-type?????????? ??????????????? ???????????
200application/jsonmessage

{
    "message" : "?????? ????????? ?????????? ??????? ?????????Данные ключевого контейнера успешно загружены.",
}

503application/jsonmessage

{
    "message" : "?????? ???????? ?????? ?? ???????Сервис хранения данных не запущен."
}

400application/jsonmessage{
    "message" : "?????? ???????????Сессия отсутствует."
}
500application/jsonmessage
failureCause 
{
    "message" : "?????? ??? ???????? ?????? ????????? ??????????Ошибка при загрузке данных ключевого контейнера.",
"failureCause" : ""
}
????????? JSON ??????? ??????
??????????? ??????????????
messageString???????? ?????????? ?????????? ????????
failureCause String???????? ??????? ????????????? ??????

...

Параметры JSON объекта ответа
ПараметрТип данныхОписание
messageStringОписание результата проведения операции
failureCause StringОписание причины возникновения ошибки
Пример кода на JavaScript + jQuery 2.2.4

...

в случае использования аппаратного носителя в активном режиме
Code Block
languagejs
var data = {
    keyStorePath: "@. Avtor SecureToken 0"
}
$.ajax({
    url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/keyStore",
    type: "POST",
    dataType: "json",
    contentType: "application/json",
    data: JSON.stringify(data)
}).done(function (jsonResponse, textStatus, xhr) {
    message = jsonResponse.message;
}).fail(function (xhr) {
    try {
        var jsonResponse = JSON.parse(xhr.responseText);
        message = jsonResponse.message;
        failureCause = jsonResponse.failureCause;
    } catch (e) {
        message = (xhr.responseText == undefined) ? "?????? ??? ???????? ?????? ????????? ??????????Ошибка при загрузке данных ключевого контейнера." : xhr.responseText;
    }
})

...

Пример кода на JavaScript + jQuery 2.2.4

...

в случае использования файлового контейнера с указанием пути
Code Block
languagejs
var data = {
    keyStorePath: "z:\\sharedFiles\\temp\\7\\Molyakov_overdue-DS+Arg.pfx"
}
$.ajax({
    url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/keyStore",
    type: "POST",
    dataType: "json",
    contentType: "application/json",
    data: JSON.stringify(data)
}).done(function (jsonResponse, textStatus, xhr) {
    message = jsonResponse.message;
}).fail(function (xhr) {
    try {
        var jsonResponse = JSON.parse(xhr.responseText);
        message = jsonResponse.message;
        failureCause = jsonResponse.failureCause;
    } catch (e) {
        message = (xhr.responseText == undefined) ? "?????? ??? ???????? ?????? ????????? ??????????Ошибка при загрузке данных ключевого контейнера." : xhr.responseText;
    }
})

...

Пример кода на JavaScript + jQuery 2.2.4

...

в случае использования данных файлового контейнера
Code Block
languagejs
var data = {
    base64Data: "?????? ????????? ?????????? ? ?????????данные файлового контейнера в кодировке base64"
}
$.ajax({
    url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/keyStore",
    type: "POST",
    dataType: "json",
    contentType: "application/json",
    data: JSON.stringify(data)
}).done(function (jsonResponse, textStatus, xhr) {
    message = jsonResponse.message;
}).fail(function (xhr) {
    try {
        var jsonResponse = JSON.parse(xhr.responseText);
        message = jsonResponse.message;
        failureCause = jsonResponse.failureCause;
    } catch (e) {
        message = (xhr.responseText == undefined) ? "?????? ??? ???????? ?????? ????????? ??????????Ошибка при загрузке данных ключевого контейнера." : xhr.responseText;
    }
})

...