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

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

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

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

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

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

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

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

    Enable-SignAsyncOperationSettings
    

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

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

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

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

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

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

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

    1. Аутентификация пользователя на Центре Идентификации
    2. Загрузка документов для подписи
    3. Создание операции подписи на Сервисе Подписи
    4. Отправка запроса на подтверждение операции подписи
    5. Ожидание подтверждения операции в мобильном приложении и подписи документов
    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