Конечная точка Signature | КриптоПро DSS

Cms-шифрование документа без использования сервиса обработки документов (сод)

Пример запроса

В примере выполняется CMS-шифрование документа, передаваемого в теле
запроса.

Xml-шифрование документа без использования сод

Пример запроса

В примере выполняется XML-шифрование документа, передаваемого в теле запроса.

Виды шифрования

REST-интерфейс Сервиса Подписи DSS позволяет выполнять зашифрование следующими способами:

  • Шифрование формата CMS (тип содержимого «зашифрованные данные (encrypted-data)»);
  • Шифрование XML-документов.

Выполнение операции подписи

Метод предназначен для выполнения операции подписи документов после подтверждения.

Для выполнения подтверждённой операции запрос отправляется на ту же конечную
точку, что и при создании операции.

В теле запроса в структуре SignatureOperation может быть заполнено только одно
поле PinCode, если ПИН-код для доступа к ключу не требуется, то весь запрос
представляет из себя пустой JSON-объект.

Примеры запросов

Без передачи ПИН-кода для доступа к закрытому ключу сертификата.

Запрос на шифрование нескольких документов

Сервис Подписи обладает возможностью пакетного шифрования документов. Для этого
в объекте BinaryData необходимо передавать массив документов или ссылок
на документы в СОД.

Пример запроса

Данный пример содержит несколько ссылок RefId на несколько документов в
СОД.

{
    "BinaryData": [
        { "RefId" : "8108d47f-8182-4f43-bbad-eb647d0f3e59" },
        { "RefId" : "d381b02f-a19b-4206-882c-791827c076a3" }
    ], 
    "Encryption":
        {
        "Type":"XML",
        "Certificates":[
            "MIIG0TCCBn6gAwI..."]
        }
}

Пример ответа

Сервис Подписи возвращает результат операции.

{
    "Operation": {
        "Id": null,
        "Result": {
            "ProcessedDocuments": [
                {
                    "RefId": "4bab5799-e14a-433b-8aba-a7bef5a70b6c",
                    "OriginalRefId": "8108d47f-8182-4f43-bbad-eb647d0f3e59",
                    "Content": null,
                    "Status": "Completed",
                    "Error": null,
                    "ErrorDescription": null
                },
                {
                    "RefId": "6eb75281-75cf-4714-94bb-fe1e0997af81",
                    "OriginalRefId": "d381b02f-a19b-4206-882c-791827c076a3",
                    "Content": null,
                    "Status": "Completed",
                    "Error": null,
                    "ErrorDescription": null
                }
            ]
        },
        "Status": "Completed",
        "Error": null,
        "ErrorDescription": null,
        "ExpirationDate": 0
    }
}

Пример запроса

Данный пример содержит несколько документов в теле запроса.

Передача параметров зашифрования

Ниже представлен пример запроса, включающий в себя механизм
параметров шифрования.

Пример запроса

Подпись в формате cades-xlt1/cades-t

Сервис Подписи DSS позволяет создавать следующие виды подписи в формате CAdES-XLT1/CAdES-T:

Примечание

Подпись в формате CAdES-XLT1/CAdES-T требует обязательной передачи адреса TSP-службы посредством передачи параметра TSPAddress в запросе.

В случае, если в конфигурации Сервиса Подписи параметр AllowThirdPartyTsp имеет значение false, передаваемый адрес службы должен находиться в списке доверенных служб TSP, зарегистрированных на Сервисе Подписи.

Пользовательский сертификат

При выполнении любой операции подписи Сервис должен располагать информацией о сертификате ключа подписи.
Это можно сделать двумя способами:

  • передача идентификатора сертификата в запросе на формирование подписи
  • использование сертификата по умолчанию

Для получения идентификтора сертификата можно воспользоваться методом GetCertificates.

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

Примечание

При создании заверяющей подписи в поле Content необходимо передавать подписанный документ, для которого требуется заверяющая подпись.

В поле OriginalDocument необходимо передавать исходный документ.

В запросе должен присутствовать параметр CmsSignatureType, имеющий значение countersign.

В запросе может присутствовать параметр SignatureIndex, указывающий индекс заверяемой подписи. В случае, если данный параметр отсутствует в запросе, Сервис Подписи будет заверять первую подпись в документе.

Создание операции подписи

Метод предназначен для создания операции подписи документов.

Если операция подписи требует подтверждения, то поле Status будет содержать
значение Created, иначе Completed.

Пример запроса

Шифрование документа

Данный подраздел содержит примеры запросов на CMS-шифрование документа.

Шифрование с передачей ссылки на документ в сод

Пример запроса

Оцените статью
ЭЦП64
Добавить комментарий