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

Compare with Current View Page History

« Previous Version 10 Next »

Устанавливает параметры операций проверки (создания) ЭЦП (МВ), которые используются в контексте определенной сессии.
Доступны следующие параметры, которые относятся к операциям ЭЦП и МВ:

  • тип ЭЦП
  • признак включения метки времени данных
  • признак включения метки времени ЭЦП
  • порядок включения сертификатов подписанта и издателей
  • режим проверки метки времени цифровой подписи
  • режим проверки метки времени данных
  • описатель данных, которые необходимо подписать
  • признак возможности подписания документа несколько раз одним и тем же подписантом
URL-адрес запроса

https://local.cipher.kiev.ua:9091/api/v1/ticket/{uuid}/option

Метод

PUT

Параметры запроса
uuidStringИдентификатор сессии
Настраиваемые заголовки запроса
Content-Typeapplication/json
Параметры JSON объекта запроса
ИмяТипОписаниеДопустимые значения
signatureTypeStringТип ЭЦПattached - встроенная ЭЦП, ЭЦП хранится вместе с подписанными данными
* detached - открепленная ЭЦП, ЭЦП хранится отдельно от подписанных данных
embedSignatureTsStringПризнак включения метки времени ЭЦПtrue - встраивать метку времени ЭЦП
* false - встраивать метку времени ЭЦП
embedDataTsStringПризнак включения метки времени данныхtrue - встраивать метку времени даных
* false - встраивать метку времени данных
embedCertificateTypeStringПорядок включения сертификатов подписанта и издателей

signerCert - добавлять только сертификат подписанта
signerAndCaCert - добавлять сертификат подписанта и сертификаты издателей
signerCertAndCaInfo - добавлять сертификат подписанта и информацию про сертификаты издателей (сами сертификаты издателей не добавляются)
* nothing - не добавлять сертификаты

signatureTsVerifyOptionStringРежим проверки метки времени цифровой подписи

* ignore - игнорировать метку времени
verifyIfPresent - проверять метку времени, если она присутствует
verifyOrFailIfNotPresent - проверять метку времени и возвращать ошибку, если она отсутствует

dataTsVerifyOptionStringРежим проверки метки времени данных * ignore - игнорировать метку времени
verifyIfPresent - проверять метку времени, если она присутствует
verifyOrFailIfNotPresent - проверять метку времени и возвращать ошибку, если она отсутствует

dataToSignQualifier

StringОписатель данных, которые необходимо подписать* notSignedBefore - данные не содержат ранее созданную подпись
alreadySigned - данные уже содержат подпись, для добавления новой будет использован режим множественной подписи

duplicateSign

StringПризнак возможности подписания документа несколько раз одним и тем же подписантом

true - добавляет новую подпись, даже если документ уже был подписан подписантом
* false - новая подпись не добавляется, если документ уже был подписан подписантом

* - значение по умолчанию

Ответ
Код ответаContent-typeДопустимые параметрыПример содержимого
200application/json
message
settedOptions : {
signatureType,
signatureTsVerifyOption,
dataTsVerifyOption,
embedSignatureTs,
embedDataTs,
embedCertificateType
{
"message": "Запрос на установку настроек сессии выполнен.",
"settedOptions": {
"signatureTsVerifyOption": "IGNORE",
"embedSignatureTs": "false",
"embedCertificateType": "NOTHING",
"signatureType": "DETACHED",
"dataTsVerifyOption": "IGNORE",
"embedDataTs": "false"
}
}
503application/jsonmessage
{
    "message" : "Сервис хранения данных не запущен."
}
400application/jsonmessage
{
    "message" : "Сессия отсутствует." 
}
Параметры JSON объекта ответа
ПараметрТип данныхОписание
messageStringОписание результата проведения операции
settedOptions 
ObjectПараметры и их значения, которые были установлены после выполнения запроса
Пример кода на JavaScript + jQuery 2.2.4
var selectedOptions = {
    signatureType: "detached",
    embedCertificateType: "nothing",
    embedSignatureTs: "false",
    embedDataTs: "false",
    signatureTsVerifyOption: "ignore",
    dataTsVerifyOption: "ignore"
};
$.ajax({
    url: "https://local.cipher.kiev.ua:9091/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/option",
    type: "PUT",
    dataType: "json",
    contentType: "application/json",
    data: JSON.stringify(selectedOptions)
}).done(function (jsonResponse, textStatus, xhr) {
    message = jsonResponse.message;
    settedOptions = jsonResponse.settedOptions;
}).fail(function (xhr) {
    try {
        var jsonResponse = JSON.parse(xhr.responseText);
        message = jsonResponse.message;
    } catch (e) {
        message = (xhr.responseText == undefined) ? "Ошибка при установке настроек сессии." : xhr.responseText;
    }
})



  • No labels