Подтверждение операций с помощью myDSS | КриптоПро DSS

Подтверждение операций с помощью myDSS | КриптоПро DSS Электронная цифровая подпись

Offline подтверждение транзакции

Offline сценарий может использоваться как альтернативный способ подтверждения или отклонения транзакции.
Сценарий может использоваться когда мобильное приложение не имеет доступа в Интернет, либо по каким либо причинам не смогло загрузить с сервера
данные транзакции (сопровождающий текст, подписываемый документ)

Интегрируемая система должна отобразить пользователю QR-код (Image), полученный при первом обращении к Сервису Подтверждения Операций, и предоставить пользователю интерфейс
для ручного ввода кода подтверждения (отказа) транзакции.

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

Асинхронное подтверждение транзакции

Если в первом запросе к Сервису Подтверждения Операций пользователь указал CallbackUri, то после подтверждения операции
на мобильном устройстве пользователя придёт оповещение о завершении транзакции.

Сообщение о завершении транзакции содержит:

  • Result – результат подтверждения транзакции (success или failed)
  • TransactionId – идентификатор транзакции на Сервисе Подтверждения операций (RefId)
  • Error – код ошибки
  • ErrorDescription – описание ошибки

Примеры ответа на CallbackUri

Оповещение о подтверждении операции:

{
    "Result":"success",
    "TransactionId":"aa1a4a5d-bb4d-456b-87da-31818604fcd8",
    "Error":"",
    "ErrorDescription":null}

Оповещение об отказе (пользователь в мобильном приложении Отказался от подтверждения операции):

{
    "Result":"failed",
    "TransactionId":"2fbd0a40-77be-4a40-a688-a0249bba16a6",
    "Error":null,
    "ErrorDescription":null}

Оповещение об истечении строка действия транзакции.

{
"Result":"failed",
"TransactionId":"bc0ffdee-7143-439f-bf6b-d1400725d8f1",
"Error":"transaction_expired",
"ErrorDescription":"Срок действия транзакции истёк"}

Если пользователь подтвердил операцию на мобильном устройстве, необходимо обратиться на Сервис Подтверждения Операций
для получения нового AccessToken. В запросе передаётся идентификатор RefId.

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

Безопасность

Приложение myDSS выполняет визуализацию электронного документа и формирование подтверждения на  его подписание в КриптоПро DSS.

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

Читайте также:  Как продлить (перевыпустить) ключ эцп заранее, или если срок действия закончился

Ключи электронной подписи пользователей хранятся в сертифицированном КриптоПро HSM в неизвлекаемом виде.

Внимание!

В Offline сценарии на мобильном устройстве пользователя не может быть отображён
подписываемый документ. Отобразить возможно только сопровождающий операцию текст.

Загрузка mydss

Для загрузки приложения отсканируйте QR-код или перейдите по одной из ссылок ниже.

Подтверждение операции на сервисе подписи

Предварительные условия

В подтверждении транзакции задействованы следующие сервисы DSS:

Примечание

У Администратора DSS необходимо получить значение параметров client_id и resource.
resource – идентификатор Сервиса Подписи, имеет вид:
urn:cryptopro:dss:signserver:<SignServerAppName>

Подтверждение транзакции подписи на сервисе подтверждения операций

Для подтверждения транзакции, созданной на Сервисе Подписи, пользователь отправляет запрос содержащий:

  • CallbackUri – адрес для оповещения о завершении транзакции (опционально).
  • TransactionTokenId – идентификатор транзакции, созданной на сервисе подписи.
  • Resource – идентификатор Сервиса Подписи.
  • ClientId – идентификатор OAuth клиента.
  • ClientSecret – пароль OAuth клиента (для неконфиденциальных клиентов данный параметр не указывается).

Получение подписанного документа на сервисе подписи

Для получения подписанного документа необходимо отправить запрос Сервису Подписи на конечную точку /documents.

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

Примечание

При обработке ответа Сервиса Подтверждения Операций вызывающее приложение должно смотреть на значение двух флагов:
IsFinal и IsError. Если получен ответ с IsError – true, то дальнейшее подтверждение транзакции не возможно. Если получен ответ с IsFinal – false, то подтверждение транзакции ещё не завершено.

Синхронное подтверждение транзакции

В синхронном режиме пользователь должен периодически опрашивать Сервис Подтверждения Операция, ожидая
завершение подтверждения транзакции (флаг IsFinal = true).

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

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

После прохождения аутентификации пользователь инициирует подписание документа.
Для подтверждения любых операций на Сервисе Подписи используется метод /transactions
В запросе необходимо указать:

Читайте также:  При направлении электронных документов нотариальное заверение подписи заявителя не требуется | ФНС России | 57 Орловская область

Юридическая значимость подписи

Документ и другие действия пользователя заверяются квалифицированной электронной подписью, что обеспечивает неотказуемость действий. Пользователь не только подтверждает содержание документа, но и в дальнейшем не имеет возможности отказаться от совершенного действия.

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