??? ????????????? ? ???????? ????????? ?????????? ?????? ???????????:
- ???????? ????????? ? ????????? 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
...
????????? ???????
uuid | String | Идентификатор сессии |
...
????????????? ?????? |
????????????? ????????? ???????
Content-Type | application/json |
Параметры JSON объекта запроса
Имя | Тип | Описание | Допустимые значения |
---|---|---|---|
base64Data | String | Файловый контейнер в кодировке Base64 | Правильно закодированная Base64 строка |
keyStorePath | String | Путь в специальном формате к файловому контейнеру или аппаратному носителю с поддержкой PKCS#11 | Для получения списка подключенных аппаратных носителей необходимо использовать запрос |
Ответ
????????? JSON ??????? ???????
??? | ??? | ???????? | ?????????? ???????? |
---|---|---|---|
base64Data | String | ???????? ????????? ? ????????? Base64 | ????????? ?????????????? Base64 ?????? |
keyStorePath | String | ???? ? ??????????? ??????? ? ????????? ?????????? ??? ??????????? ???????? ? ?????????? PKCS#11 | ??? ????????? ?????? ???????????? ?????????? ????????? ?????????? ???????????? ?????? |
?????
??? ?????? | Content-type | ?????????? ????????? | ?????? ??????????? | Код ответа | Content-type | Допустимые параметры | Пример содержимого |
---|---|---|---|---|---|---|---|
200 | application/json | message | { | ||||
503 | application/json | message | { | ||||
400 | application/json | message | { "message" : "Сессия отсутствует?????? ???????????." } | ||||
500 | application/json | message failureCause | { |
Параметры JSON объекта ответа
Параметр | Тип данных | Описание |
---|---|---|
message | String | Описание результата проведения операции |
failureCause | String | Описание причины возникновения ошибки |
...
????????? JSON ??????? ??????
???????? | ??? ?????? | ???????? |
---|---|---|
message | String | ???????? ?????????? ?????????? ???????? |
failureCause | String | ???????? ??????? ????????????? ?????? |
?????? ???? ?? JavaScript + jQuery 2.2.4
...
? ?????? ????????????? ??????????? ???????? ? ???????? ??????
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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; } }) |
...