Показать/Скрыть содержание

    Асинхронная подпись

    REST API v2 Сервиса подписи поддерживает режим "асинхронной подписи".

    В режиме "асинхронной подписи" DSS отправит Callback в вызывающую систему после того как документы будут подписаны и загружены в хранилище документов.

    После получения Callback вызывающая система может выгрузить подписанные документы из хранилища документов.

    Настройка асинхронной подписи

    Включение режима асинхронной подписи

    По умолчанию режим асинхронной подписи отключен на сервисе подписи. Для его включения необходимо выполнить команду в консоли PowerShell

    Enable-DssAsyncOperationSettings
    

    Настройка модуля для отправки Callback

    Для регистрации модуля необходимо выполнить следующий скрипт:

    #Настройка транспортного плагина
    $plugin = Add-DssSignServerPlugin -PluginTypeName "CryptoPro.DSS.Identity.Authentication.Notification.HttpTransportPlugin,CryptoPro.DSS.Identity.Authentication.Notification" -PluginType AuthenticationResult -Settings @{}
    
    #Добавление модуля оповещения
    Add-DssSignServerNotifier -TransportPluginID $plugin.ID -NotifierType AuthenticationResultCallback -Settings @{} -Type "CryptoPro.DSS.Identity.Authentication.Notification.AuthenticationResultNotifier,CryptoPro.DSS.Identity.Authentication.Notification"
    

    При успешной регистрации в списке зарегистрированных модулей оповещения Сервиса Подписи будет модуль с типом AuthenticationResultCallback:

    Get-DssSignServerNotifier
    
    ID              : 6
    Type            : AuthenticationResultCallback
    Settings        : {[ThreadCount, 1]}
    IsEnabled       : True
    TransportPlugin : CryptoPro.DSS.PowerShell.Common.Objects.Plugin
    MessagePlugin   :
    

    Создание подписи в асинхронном режиме

    Последовательность шагов при подтверждение операции подписи в асинхронном режиме:

    1. Аутентификация пользователя на Центре Идентификации
    2. Загрузка документов для подписи
    3. Создание операции подписи на Сервисе Подписи
    4. Отправка запроса на подтверждение операции подписи
    5. Ожидание подтверждения операции в DSS SDK и подписи документов
    6. Выгрузка подписанного документа

    На шаге 3 для создания подписи с подтверждением в асинхронном режиме необходимо в вызове Signature передать дополнительные параметры:

    • IsAsync - true
    • Callback - URL-адрес для оповещения о заверщении операции подписи

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

    {
        "BinaryData": [{
            "RefId" : "37bcc23f-73d8-4cb9-8b54-9b47ad03fd52"
        }],
        "Signature" : 
        { 
            "CertificateId": "13",
            "ProcessingTemplateId": "1"
        },
        "IsAsync":"true",
        "Callback":"http://hostname/signresult"
    }
    

    На шаге 5 Сервис Подписи отправит Callback следующего формата:

    {
        "Operation": {
            "Id": "6ec9d54a-7f4d-4579-abe9-660ce241e185",
            "Result": {
                "ProcessedDocuments": [
                    {
                        "RefId": "f7dbd740-9fad-4aea-88a7-39dfcc81c0ab",
                        "OriginalRefId": "37bcc23f-73d8-4cb9-8b54-9b47ad03fd52",
                        "Content": null,
                        "Status": "Completed",
                        "Error": null,
                        "ErrorDescription": null
                    }
                ]
            },
            "Status": "Completed",
            "Error": null,
            "ErrorDescription": null,
            "ExpirationDate": 1582121878
        }
    }
    
    В начало © ООО "КРИПТО-ПРО", 2000–2025