Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Встановлюються параметри операцій перевірки (створення) КЕП (ЕПЧ), які використовуються в контексті конкретної сесії.
Доступні наступні параметри, які відносяться до операцій КЕП та ЕПЧ:

  • тип КЕП
  • формат КЕП
  • ознака включення ЕПЧ даних
  • ознака включення ЕПЧ підпису
  • порядок включення сертифікатів підписантів та видавців
  • режим перевірки ЕПЧ підпису
  • режим перевірки ЕПЧ даних
  • опис даних, які необхідно підписати
  • ознака можливості підпису документа кілька разів один і тим же підписантом
  • ознака застосування окремого потоку для виконання криптографічних операцій, які вимагають доступ до особистого ключа
URL-адреса запиту

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

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

...

https://localhost:9094/api/v1/ticket/{uuid}/option

Метод

PUT

...

Параметри запиту
uuidStringИдентификатор сессииІдентифікатор сесії

...

Налаштовувані заголовки

...

запиту
Content-Typeapplication/json
Параметры JSON объекта запроса
Параметри JSON об'єкта запиту
Ім'яИмяТипОписаниеОписДопустимые значенияДопустимі значення
signatureTypeStringТип ЭПКЕПattached - встроенная ЭП, ЭП хранится вместе с подписанными даннымивбудований, КЕП зберігається разом з підписаними даними
* detached - открепленная ЭП, ЭП хранится отдельно от подписанных данныхвідкріплений, КЕП зберігається окремо від підписаних даних
embedSignatureTsStringПризнак включения электронной метки времени подписи

Ознака включення ЕПЧ підпису

true -

встраивать электронную метку времени ЭП

додавання ЕПЧ підпису
* false - не

встраивать электронную метку времени ЭП

додавати ЕПЧ підпису

Note

При

установке параметра

встановленні параметру cadesType в

значение

значення,

отличное от 

відмінне від "undefined",

значения параметра embedSignatureTs игнорируется

значення параметру "embedSignatureTs" ігнорується.


embedDataTsStringПризнак включения электронной метки времени данных

Ознака включення ЕПЧ даних

true - встраивать электронную метку времени данных
* false - не встраивать электронную метку времени данных

embedCertificateTypeString

Порядок

включения сертификатов подписанта и издателей

включення сертифікатів підписантів та видавців

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

Note

При установке параметра cadesType в значение "CAdESXLong", значения параметра embedCertificateType игнорируется.

При работе с ключами  Cipher-CKS установка значений signerAndCaCert и signerCertAndCaInfo идентична установке значения signerCert - будет добавлен только сертификат подписанта.


signatureTsVerifyOptionString

Режим

проверки электронной метки времени подписи

перевірки ЕПЧ підпису

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

dataTsVerifyOptionString

Режим

проверки электронной метки времени данных

перевірки ЕПЧ даних

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

dataToSignQualifier

StringОписатель данных, которые необходимо подписать

Опис даних, які необхідно підписати

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

duplicateSign

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

Ознака можливості підпису документа кілька разів один і тим же підписантом

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

caIdStringИдентификатор КПЭДУ/(А)ЦСК, который издал сертификат ключа из ключевого контейнера.Ідентифікатор КНЕДП, який видав сертифікат ключа з ключового контейнеруИдентификаторы поддерживаемых Сервисом КПЭДУ/(А)ЦСК необходимо предварительно получить с помощью запроса Получение списка поддерживаемых КПЭДУ/(А)ЦСК
cadesTypeStringФормат вырабатываемой электронной подписи стандарта створюваного КЕП стандарту CAdES

undefined - параметр cadesType не учитывается при выработке электронной подписи
CAdESBES
- базовая электронная подпись.
CAdEST - электронная подпись, содержащая электронную метку времени от электронной подписи
* CAdESXLong - электронная подпись, содержащая электронную метку времени от электронной подписи и полный набор данных для проверки.

Note

При установке параметра cadesType в значение, отличное от  "undefined", значение параметра embedSignatureTs игнорируется.


nokkCompatibleStringПризнак дополнительного кодирования подписи, созданной средствами компании Ознака додаткового кодування підпису, створюваної засобами компанії НОКК

true - учитывать, что подпись создана средствами НОКК и дополнительно закодирована в ASN.1 OCTET STRING
* false - кодирование подписи соответствует нормативным документам

exclusiveTaskExecutorStringПризнак использования отдельного потока для выполнения криптографических операций, которые требуют доступ к личному ключу: создание подписи, зашифрование, расшифрованиеОзнака застосування окремого потоку для виконання криптографічних операцій, які вимагають доступ до особистого ключа: створення підпису, зашифрування, розшифрування.

true: 

  • для выполнения криптографических операций, которые требуют доступ к личному ключу, будет выделен отдельный поток;
  • криптоконтекст будет создан один раз и будет повторно использоваться в рамках сессии в последующих операциях, которые требуют доступ к личному ключу;
  • следует использовать в случае необходимости выполнить в рамках одной сессии больше 10 операций, которые требуют доступ к личному ключу.

* false:

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

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

Ответ
Код ответаContent-typeДопустимые параметрыПример содержимого
200application/json
message
settedOptions : {
signatureType,
signatureTsVerifyOption,
dataTsVerifyOption,
embedSignatureTs,
embedDataTs,
embedCertificateType,
dataToSignQualifier,
duplicateSign
}
{
"message": "Запрос на установку настроек сессии выполнен.",
"settedOptions": {
"signatureTsVerifyOption": "IGNORE",
"embedSignatureTs": "false",
"embedCertificateType": "NOTHING",
"signatureType": "DETACHED",
"dataTsVerifyOption": "IGNORE",
"embedDataTs": "false",
"dataToSignQualifier": "ALREADY_SIGNED",
"duplicateSign": "true"
}
}
503application/jsonmessage
{
    "message" : "Сервис хранения данных не запущен."
}
400application/jsonmessage
{
    "message" : "Сессия отсутствует."
}
Параметры JSON объекта ответа
ПараметрТип данныхОписание
messageStringОписание результата проведения операции
settedOptions 
ObjectПараметры и их значения, которые были установлены после выполнения запроса
Пример кода на JavaScript + jQuery 2.2.4
Code Block
languagejs
var selectedOptions = {
    signatureType: "detached",
    embedCertificateType: "nothing",
    embedSignatureTs: "false",
    embedDataTs: "false",
    signatureTsVerifyOption: "ignore",
    dataTsVerifyOption: "ignore"
};
$.ajax({
    url: "https://localhost:9094/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;
    }
})

...