- Offline подтверждение транзакции
- Асинхронное подтверждение транзакции
- Безопасность
- Внимание!
- Загрузка mydss
- Подтверждение операции на сервисе подписи
- Подтверждение транзакции подписи на сервисе подтверждения операций
- Получение подписанного документа на сервисе подписи
- Примечание
- Синхронное подтверждение транзакции
- Создание транзакции подписи на сервисе подписи
- Юридическая значимость подписи
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
В запросе необходимо указать:
Юридическая значимость подписи
Документ и другие действия пользователя заверяются квалифицированной электронной подписью, что обеспечивает неотказуемость действий. Пользователь не только подтверждает содержание документа, но и в дальнейшем не имеет возможности отказаться от совершенного действия.





