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

Compare with Current View Page History

« Previous Version 18 Next »

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

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

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

Метод

PUT

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

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

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

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

embedDataTsString

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

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

embedCertificateTypeString

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

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

При установке параметра 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 - электронная подпись, содержащая электронную метку времени от электронной подписи и полный набор данных для проверки.

При установке параметра 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
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;
    }
})



  • No labels