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

    Глубинные ссылки (Deep Links)

    Мобильное приложение myDSS, позволяющее подтверждать операции подписи в КриптоПро DSS, может быть автоматически открыто (вызвано) непосредственно из клиентского приложения, установленного на мобильном устройстве пользователя. Для этого используются глубинные ссылки (Deep Links). В общем виде схема взаимодействия выглядит следующим образом:

    IMAGE

    Примечание

    Некоторые блоки ожидания ответа на схеме изображены прозрачными с пунктирным контуром. Эти блоки представлены в общем виде и разделены для примера. В зависимости от реализации взаимодействия клиентского приложения и интегрируемой ИС с myDSS эти блоки могут быть объединены.

    1. Пользователь инициирует операцию подписи в клиентском приложении на своем мобильном устройстве, связываясь с серверной частью интегрируемой с КриптоПро DSS системы.

    1.1.Интегрируемая система передает необходимые сведения в КриптоПро DSS, где начинается 
    операция подписи.
    
    Примечание

    В зависимости от того, где хранится подписываемый документ, он будет передан либо по цепочке Клиентское приложение –> Интегрируемая ИС –> КриптоПро DSS, либо Интегрируемая ИС –> КриптоПро DSS. Изображение документа на схеме не устанавливает требований к его местонахождению.

    2. Одновременно с п. 1 клиентское приложение при помощи Deep Link вызывает приложение myDSS.

    2.1.Открывшееся на мобильном устройстве пользователя приложение myDSS запрашивает у КриптоПро 
    DSS информацию о подписываемом документе. 
    
    2.2.КриптоПро DSS отправляет в myDSS указанную в п. 2.1. информацию.
    
    2.3.Получив информацию от КриптоПро DSS, myDSS отображает подписываемый документ пользователю 
    для проверки. 
    
    2.4.Пользователь просматривает сообщение и/или документ, убеждается, что хочет выполнить 
    данную операцию, и инициирует подтверждение операции в myDSS.
    
    2.5.myDSS вычисляет необходимый для подтверждения операции код аутентификации.
    
    2.6.myDSS отправляет код аутентификации в КриптоПро DSS.
    
        2.6.1.  КриптоПро DSS вычисляет код аутентификации и проверяет полученный код 
        аутентификации. 
    
        2.6.2.  В случае совпадения полученных в п. 2.6.1. кодов аутентификации КриптоПро DSS 
        успешно подписывает документ.
    
    2.7.КриптоПро DSS отправляет подписанный документ в интегрируемую систему.
    
    Примечание

    Перед вызовом myDSS клиентскому приложению рекомендуется удостовериться (получить ответ от КриптоПро DSS), что операция подписи запущена.

    3. После отправки кода аутентификации в КриптоПро DSS приложение myDSS при помощи Deep Link вызывает клиентское приложение.

    4. (Опционально) Интегрируемая система отправляет подписанный документ в клиентское приложение.

    Примечание

    Описанная в п. 2.7–3 цепочка КриптоПро DSS –> Интегрируемая ИС –> Клиентское приложение приводится для примера. Изображение подписанного документа на схеме не устанавливает требований к его местонахождению.

    Префикс Deep Link для myDSS

    mydss://
    

    Формат URL для myDSS

    Клиентское приложение вызывает myDSS следующим образом:

    mydss://[operation]?[params]
    

    где

    • operation = start_confirmation
    • params:
      • callback - (обязательный параметр) url для возврата в вызывающее приложение, закодированный в соответствии с RFC 3986 (urlencode);
      • user_id - (необязательный параметр) идентификатор пользователя для подтверждения;
      • transaction_id_list - (необязательный параметр) операции для подтверждения, comma-separated, применяется только вместе с user_id.

    Пример:

    mydss://start_confirmation?callback=testapp%3A%2F%2Fmydss_callback&user_id=test-ebaad8fd-cafe-43e6-9fed-33ffb31c65a7&transaction_id_list=7b3bf903-55bf-4867-b224-294fd223afbf,858dfa54-3295-4b1a-9388-ff5534bc9590
    

    В callback отправляется результат подтверждения следующим образом:

    [callback_url]?mydss_result=[result]&error=[error]
    

    где

    • result
      • success - все операции обработаны;
      • processed_partially - обработано операций больше 0, но меньше общего количества;
      • user_canceled - отменено пользователем;
      • error - ошибка.
    • error
      • 0, если result не равно error;
      • код ошибки с сервера;
      • 17, если указанный в user_id идентификатор пользователя не зарегистрирован.

    Пример:

    testapp://mydss_callback?mydss_result=error&error=278
    
    В начало © ООО "КРИПТО-ПРО", 2000–2025