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

    Обработка ошибок (Android)

    В данном разделе рассмотрены основные коды ошибок SDK, сценарии их возникновения и обработки. Полный список кодов ошибок приведён в разделе Коды ошибок.

    При обработке ошибок необходимо обратить внимание на следующие аспекты:

    • Ошибки использования ключей аутентификации
    • Ошибки регистрации нового устройства
    • Сетевые ошибки
    • Ошибки взаимодействия с сервисом
    • Закрытие UI

    Большинство методов SDK используют ключи аутенитификации и делают обращения на сервер. Соответственно необходимо корректно обрабатывать сетевые ошибки и ошибки использования ключей аутентификации.

    Закрытие UI

    Если пользователь закроет UI SDK, то SDK не завершит соответствующую операцию и вернёт ошибку USER_CANCELED_FORM (287).

    Список экранов SDK:

    • новый пароль на ключи аутентификации
    • ввод пароля для доступа к ключам аутентификации
    • подтверждение привязки устройства к учётной записи
    • сканирование QR-кода
    • подтверждение операций
    • ввод ПИН-кода на Рутокен
    • ввод PUK-кода на Рутокен
    • подтвеждение/отклонение привязки нового устройства
    • экран с QR-кодом для привязки нового устройства

    Ошибки использования ключей аутентификации

    Большинство вызовов API SDK связаны с обращением к сервису. Обращение к сервису требует аутентификации, соответственно использования ключей аутентификации. Доступ к ключам аутентификации требует взаимодействия с пользователем (ввод пароля или биометрии). Так же необходимо учитывать, что ключи аутентификации имеют срок действия, имеют состояние и связаны с учётной записью пользователя на сервисе.

    Ошибка Код Описание
    USER_BLOCKED 277 Ошибка аутентификации. Учётная запись пользователя заблокирована на сервере. Получен HTTP-ответ со статусом 401.
    USER_NOT_FOUND 278 Ошибка аутентификации. Учётная запись пользователя не найдена или удалена на сервере. Получен HTTP-ответ со статусом 401.
    DEVICE_BLOCKED 280 Ошибка аутентификации. Мобильное устройство пользователя заблокировано на сервере. Получен HTTP-ответ со статусом 401.
    KEYS_EXPIRED 5 Истек срок действия ключей аутентификации пользователя
    DEVICE_NOT_FOUND_BY_ID 12 Не удалось загрузить ключи аутентификации. Ключи с указанным KID не найдены.
    KEYS_BLOCKED_FOR_ERROR_ATTEMPTS 20 Ключи аутентификации временно заблокированы из-за превышения попыток ввода пароля
    INVALID_KEY_ID 271 Передан невалидный идентификатор ключей аутентификации (KID). Получен HTTP-ответ со статусом 400.
    REQUESTED_USER_NOT_FOUND 272 УЗ пользователя не найдена. Получен HTTP-ответ со статусом 400.
    INVALID_KEY_STATE 273 Статус ключей аутентификации не соответствует запрошенной операции. Получен HTTP-ответ со статусом 400.
    INVALID_HMAC 279 Ошибка аутентификации. Передан неверный код аутентификации. Получен HTTP-ответ со статусом 401.
    JNI_HMAC_AUTH_FAILED 230 Не удалось вычислить код аутентификации.
    JNI_FUN_FAILED 216 Ошибка выполнения криптографической операции. Нативный код ошибки и описание содержится в описании.
    INVALID_AUTHENTICATION_SCHEME 276 Ошибка аутентификации. Пользователю отключена аутентификация при помощи мобильного приложения. Получен HTTP-ответ со статусом 401.
    NOT_SAFE_USAGE_CANCELLED_BY_USER 220 SDK не инициализирован. Пользователь запретил использовать API SDK, так как устройство является не безопасным.
    NFC_TOKEN_IS_REMOVE 221 NFC токен был убран во время выполнения операции.

    Ошибка NOT_SAFE_USAGE_CANCELLED_BY_USER возникает если SDK не был инициализирован или пользователь запретил использовать API SDK, так как устройство является не безопасным. Необходимо повторно вызвать метод CryptoProDSS.init

    При возникновении ошибок USER_BLOCKED, DEVICE_BLOCKED необходимо обратиться к администратору сервиса для уточнения причин блокировки устройства.

    При возникновении ошибок KEYS_EXPIRED, USER_NOT_FOUND, REQUESTED_USER_NOT_FOUND необходима повторная регистрация учётной записи пользователя и/или устройства пользователя.

    Ошибка INVALID_AUTHENTICATION_SCHEME вызвана тем, что на сервере в учётной записи пользователя отключена аутентификация при помощи мобильного приложения. Необходимо обратиться к администратору сервера.

    Ошибка DEVICE_NOT_FOUND_BY_ID вызвана с тем, что в API SDK передан идентификатор ключей аутентификации KID, которых нет на устройстве.

    Ошибка INVALID_KEY_STATE говорит о том, что устройство не находится в нужном состоянии для выполнения операции. Вероятнее всего не была завершена регистрация устройства и оно не находится в статусе ACTIVE. Необходимо актуализировать статус устройства Policy.getUserDevices и исходя из состояния устройства завершить регистрацию.

    Ошибка INVALID_HMAC вызвана неверным кодом аутентификации, отправленым на сервис. Ошибка может быть вызвана расхождением времени на клиенте и сервисе. В зависимости от настроек сервис допускается расхождение времени от 4 до 30 минут.

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

    Ошибка JNI_FUN_FAILED вызвана низкоуровневыми ошибками криптографичесих операций. Для устранения ошибки можно попробовать перезапустить приложение. Если ошибка не устранится, то может потребоваться повторная регистрация устройства на сервере.

    Ошибки регистрации нового устройства

    В сценарии регистрации по QR-коду возможны следующие ошибки:

    • WRONG_QR - отсканирован неверный QR-код. Требуется отсканировать QR-код созданный для регистрации мобильного приложения. Ошибка возникает при вызове метода Auth.scanQR.
    • KINIT_NOT_LOADED - для вызова метода Auth.kinit требуется отсканировать QR-код. Ошибка может возникнуть если межды вызовами Auth.scanQR и Auth.kinit приложение было закрыто.
    • KINIT_ALREADY_USED - отсканированный QR-код уже был использован или удалён на сервере. Для устранения ошибки требуется создать новый QR-код.
    • CANNOT_OPEN_KINIT_SESSION - в метод Auth.kinit передан неверный код активации QR-кода.
    • USING_THAT_PROTECTION_TYPE_PERMITTED_BY_POLICY в метод Auth.kinit передан способ защиты ключей аутентификации ниже настроенного на сервере.

    В сценарии Online-регистрации возможны следующие ошибки:

    • SELF_REGISTRATION_DISABLED - Online-регистрация запрещена на сервере. Ошибка может возникнуть при вызове метода Auth.init.
    • USING_THAT_PROTECTION_TYPE_PERMITTED_BY_POLICY в метод Auth.init передан способ защиты ключей аутентификации ниже настроенного на сервере.

    Ошибка INVALID_KEY_STATE может возникнуть при вызове методов Auth.confirm, Auth.verify. Ошибка говорит о том, что состояние устройства на сервере не соответствует вызываемому методу. Если устройство находится в статусе Created, то необходимо вызвать метод Auth.confirm для перевода устройства в статус Installed или NotVerified. Новый статус устройства зависит от сценария регистрации. Если устройство находится в статусе NotVerified, то необходимо вызвать метод Auth.verify для перевода устройства в статус Active.

    Ошибка INVALID_AUTHENTICATION_SCHEME вызвана тем, что на сервере в учётной записи пользователя отключена аутентификация при помощи мобильного приложения. Необходимо обратиться к администратору сервера.

    Ошибка KEY_ALREADY_CONFIRMED говорит о том, что ожидалось состояние устройство Created. Необходимо актуализировать состояние устройства при помощи метода Policy.getUserDevices и исходя из состояния устройства завершить регистрацию.

    Ошибка INVALID_PROFILE_HMAC говорит о том, что при вызове метода Auth.verify на сервере был отправлен неправильный код подтверждения привязки устройства. Необходимо актуализировать данные учетной записи и устройства при помощи метода Policy.getUserDevices и повторить вызов метода Auth.verify.

    Ошибка INVALID_VERIFICATION_NONCE говорит о том, что перед вызовом метода Auth.verify требуется отсканировать QR-код для подтверждения привязки устройства к учётной записи.

    Ошибки SAVING_ON_PASSWORD_FAILED, JNI_FUN_FAILED вызваны низкоуровневыми криптографическими ошибки. Если после перезапуска приложения и/или повторной регистрации устройства ошибки сохраняются, то необходимо обратиться к администратору сервиса.

    Ошибка Код Описание
    SELF_REGISTRATION_DISABLED 1 Настройками сервера запрещена Online-регистрация пользователя. Ошибку возвращает вызов метод Auth.init()
    DEVICE_NOT_FOUND_BY_ID 12 Не найдены ключи аутентификации по указанному идентификатору KID.
    WRONG_QR 19 Не верный QR-код. Не удалось прочитать данные из QR-кода.
    QR_NOT_IN_BASE64 21 Не удалось прочитать QR-код.
    INVALID_KEY_STATE 273 Не верный статус ключей аутентификации.
    USING_THAT_PROTECTION_TYPE_PERMITTED_BY_POLICY 29 Выбранный способ защиты ключей аутентификации не соответствует требованиям заданным на сервере.
    SAVING_ON_PASSWORD_FAILED 30 Не удалось сохранить ключи аутентификации на новом пароле.
    KEY_ALREADY_CONFIRMED 269 Установка ключей аутентификации уже была выполнена. Получен HTTP-ответ со статусом 400. Ошибку может вернуть метод Auth.confirm().
    KINIT_ALREADY_USED 270 QR-код для привязки УЗ уже был использован или удалён. Получен HTTP-ответ со статусом 400.
    CANNOT_OPEN_KINIT_SESSION 47 Не удалось создать сессию взаимодействия с сервером с использование одноразового ключа аутентификации из QR-кода.
    KINIT_NOT_LOADED 46 В сценарии регистрации устройства по QR-коду не был отсканирован QR-код. Ошибку возвращает вызов метод Auth.kinit()
    JNI_FUN_FAILED 216 Ошибка выполнения криптографической операции. Нативный код ошибки и описание содержится в описании.
    INVALID_PROFILE_HMAC 274 Ошибка подтверждения УЗ пользователя. Передан неверный код подтверждения УЗ. Получен HTTP-ответ со статусом 400.
    INVALID_VERIFICATION_NONCE 275 Ошибка подтверждения УЗ пользователя. Передан неверный идентификатор из QR-кода. Получен HTTP-ответ со статусом 400.
    INVALID_AUTHENTICATION_SCHEME 276 Ошибка аутентификации. Пользователю отключена аутентификация при помощи мобильного приложения. Получен HTTP-ответ со статусом 401.

    Сетевые ошибки

    Перечисленные ниже ошибки возникают в тех случаях, когда на запрос к сервису был получен ответ с HTTP-статусом отличным от 200.

    Ошибка Код Описание
    REQUEST_WAS_LARGER 413 Переданные на сервер данные превышают ограничения, установленные на сервере. Получен HTTP-ответ со статусом 413.
    INTERNAL_SERVER_ERROR 500 Получен HTTP-ответ со статусом 500.
    BAD_GATEWAY 502 Получен HTTP-ответ со статусом 502.
    SERVICE_UNAVAILABLE 503 Получен HTTP-ответ со статусом 503.
    RESPONSE_CODE_NOT_OK 876 Получен HTTP-ответ со статусом 400, 401 и неизвестным прикладным кодом ошибки. Код ошибки и описание ошибки содержится в описании.
    DESERIALIZATION_ERROR 3 Ошибка десериализации ответа сервера.
    UNEXPECTED_NETWORK_ERROR 2 Произошла ошибка при установлении соединения с сервером.
    NETWORK_ERROR 4 Не удалось установить соединение с сервером.

    Ошибка REQUEST_WAS_LARGER может возникнуть при попытке загрузить на сервер документ большего размера, чем ограничения определённые сервером.

    При возникновении ошибок INTERNAL_SERVER_ERROR, BAD_GATEWAY, SERVICE_UNAVAILABLE можно повторить запрос позже или обратиться к Администратору сервиса.

    Ошибка RESPONSE_CODE_NOT_OK возникает при получении от сервер HTTP-ответа со статусом 400, 401 и неизвестным прикладным кодом ошибки. То есть SDK не смог отобразить код ошибки, полученный от сервера, на код ошибки SDK. В данном случае пользователю можно отобразить описание ошибки.

    Ошибка UNEXPECTED_NETWORK_ERROR, NETWORK_ERROR возникает при ошибках установления соединения с сервером. Подробности ошибки содержатся в описании ошибки. Ошибка может быть связана с:

    • Ошибками TLS-соединения (не установлен корневой сертификат, не удалось проверить сертификат сервера на отзыв, и т.п.)
    • Time-out соединения
    • Ошибки разрешения доменного имени
    • и другие.

    Ошибки взаимодействия с сервисом

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

    Ошибка Код Описание
    ACCESS_POLICY_VIOLATION 232 Действие запрещено настройками сервера. Сервер вернут ответ с HTTP-статусом 400.
    CONFIRMATION_POLICY_VIOLATION 233 Действие может быть выполнено только со вторичной аутентификацией. Сервер вернут ответ с HTTP-статусом 400.
    INVALID_SUBJECT_NAME 234 Указанное в запросе на сертификат имя субъекта не соответствует требованиям. Получен HTTP-ответ со статусом 400.
    INVALID_TEMPLATE 235 Указан неверный шаблон сертификата. Получен HTTP-ответ со статусом 400.
    INVALID_ENROLL 236 Указан неверный идентификатор модуля УЦ. Получен HTTP-ответ со статусом 400.
    INVALID_REQUEST 237 Неверный запрос на сертификат или связанные с запросом на сертификат данные. Получен HTTP-ответ со статусом 400.
    INVALID_PIN 238 Неверный ПИН-код для доступа к закрытому ключу, хранящемуся на сервере. Получен HTTP-ответ со статусом 400.
    INVALID_LICENSE 239 На сервере нет доступных лицензий для создания нового сертификата пользователя. Получен HTTP-ответ со статусом 400.
    INVALID_CERTIFICATE_ID 240 Передан неверный идентификатор сертификата. Получен HTTP-ответ со статусом 400.
    CERTIFICATE_NOT_FOUND_ID 241 Сертификат не найден по идентификатору. Получен HTTP-ответ со статусом 400.
    REQUEST_NOT_FOUND_BY_ID 242 Запрос на сертификат не найден по идентификатору. Получен HTTP-ответ со статусом 400.
    UNSIGNED_REQUEST_INVALID_STATE 243 Запрос на сертификат для мобильного приложения уже был обработан. Получен HTTP-ответ со статусом 400.
    DUPLICATE_FRIENDLY_NAME 244 Дружественное имя уже назначено другому сертификату. Получен HTTP-ответ со статусом 400.
    INVALID_CERT_REQUEST 245 Не найден запрос на сертификат. Получен HTTP-ответ со статусом 400.
    PENDING_REQUESTS_EXIST 246 Ошибка создания запроса на сертификат. У пользователя уже есть необработанный запрос на сертификат. Получен HTTP-ответ со статусом 400.
    CERT_ALREADY_INSTALLED 247 Сертификат уже был установлен. Получен HTTP-ответ со статусом 400.
    DUPLICATE_CERT_FOUND 248 Сертификат уже был установлен для другой учетной записи. Получен HTTP-ответ со статусом 400.
    KEY_NOT_FOUND 249 Не найден закрытый ключ сертификата. Получен HTTP-ответ со статусом 400.
    KEY_TYPE_MISMATCH 250 Устанавливаемый сертификат не соответствует типу закрытого ключу (серверный/клиентский). Получен HTTP-ответ со статусом 400.
    INVALID_CERTIFICATE_STATUS 251 Неверный статус сертификата для выполнения отзыва/приостановления/восстановления. Получен HTTP-ответ со статусом 400.
    CONTENT_REQUIRED 252 Не передан документ для выполнения операции. Получен HTTP-ответ со статусом 400.
    INVALID_CONTENT 253 Получены неверные данные при усовершенствовании подписи. Получен HTTP-ответ со статусом 400.
    INVALID_CERTIFICATE 254 Сертификат не может быть использован для
    INVALID_SIGNATURE_TYPE 255 Неверный тип подписи, инициированной в мобильном приложении. Получен HTTP-ответ со статусом 400.
    INVALID_PROCESSING_TEMPLATE 256 Неверный идентификатор шаблона подписи, инициированной в мобильном приложении. Получен HTTP-ответ со статусом 400.
    INVALID_SIGNATURE_PARAMS 257 Неверный набор параметров подписи, инициированной в мобильном приложении. Получен HTTP-ответ со статусом 400.
    INVALID_PRESIGNED_HASH_DATA 258 Ошибка подписи с использованием ключей в мобильном приложении. Получен HTTP-ответ со статусом 400.
    INVALID_SIGNED_DOCS_IDS_DATA 259 Ошибка подписи с использованием ключей в мобильном приложении. Получен HTTP-ответ со статусом 400.
    DOC_NOT_FOUND 260 Не найден документ, указанный в операции. Получен HTTP-ответ со статусом 400.
    KEY_UNAVAILABLE 261 Ошибка доступа к серверному ключу подписи. Получен HTTP-ответ со статусом 400.
    INVALID_TSP_ADDRESS 262 Указан неверный адрес TSP-службы. Получен HTTP-ответ со статусом 400.
    INVALID_CERT 263 Истек срок действия сертификата. Получен HTTP-ответ со статусом 400.
    ARCHIVE_DISABLED 264 Ошибка архивирования ключа подписи. Архивирование ключей подписи запрещено настройками сервера. Получен HTTP-ответ со статусом 400.
    INVALID_CERT_TYPE 265 Ошибка архивирования ключа подписи. Сертификат не поддерживает архивирование. Получен HTTP-ответ со статусом 400.
    ALREADY_ARCHIVED 266 Ошибка создания архивной копии ключа подписи. Ключ подписи уже был архивирован. Получен HTTP-ответ со статусом 400.
    CERT_MISMATCH 267 Ошибка установки сертификата. Сертификат не соответствует закрытому ключу. Получен HTTP-ответ со статусом 400.
    NOT_ARCHIVED 268 Ошибка восстановления ключа подписи из архивной копии. Ключ подписи не был архивирован. Получен HTTP-ответ со статусом 400.
    KINIT_ALREADY_USED 270 QR-код для привязки УЗ уже был использован или удалён. Получен HTTP-ответ со статусом 400.
    INVALID_KEY_ID 271 Передан невалидный идентификатор ключей аутентификации (KID). Получен HTTP-ответ со статусом 400.
    REQUESTED_USER_NOT_FOUND 272 УЗ пользователя не найдена. Получен HTTP-ответ со статусом 400.

    Список кодов ошибок

    Ошибка Код Описание
    SELF_REGISTRATION_DISABLED 1 Настройками сервера запрещена Online-регистрация пользователя. Ошибку возвращает вызов метод Auth.init()
    UNEXPECTED_NETWORK_ERROR 2 Непредвиденная сетевая ошибка.
    DESERIALIZATION_ERROR 3 Не удалось десериализовать ответ сервера.
    NETWORK_ERROR 4 Не удалось установить соединение с сервером.
    KEYS_EXPIRED 5 Истек срок действия ключей аутентификации пользователя
    CANNOT_CHANGE_PASSWORD 6 Не удалось сохранить ключи аутентификации на новом пароле пользователя (JNI ошибки экспорта ключей аутентификации)
    ENTERING_NEW_PASSWORD_WAS_CANCELLED 8 Пользователь отменил ввод нового пароля на ключи аутентификации
    ENTERING_PASSWORD_WAS_CANCELLED 11 Пользователь отменил ввод пароля на ключи аутентификации или ПИН-кода на Рутокен
    DEVICE_NOT_FOUND_BY_ID 12 Не найдены ключи аутентификации по указанному идентификатору KID.
    WRONG_QR 19 Не верный QR-код. Не удалось прочитать данные из QR-кода.
    KEYS_BLOCKED_FOR_ERROR_ATTEMPTS 20 Ключи аутентификации временно заблокированы из-за превышения попыток ввода пароля
    QR_NOT_IN_BASE64 21 Не удалось прочитать QR-код.
    ERROR_ENCRYPTING_WITH_PASSWORD 27 Ошибка доступа к ключам аутентификации. Возможно ключи аутентификации повреждены.
    ERROR_ENCRYPTING_WITH_DEFAULT_PASSWORD 28 Ошибка доступа к ключу аутентификации устройства. Возможно ключ аутентификации устройства поврежден.
    USING_THAT_PROTECTION_TYPE_PERMITTED_BY_POLICY 29 Выбранный способ защиты ключей аутентификации не соответствует требованиям заданным на сервере.
    SAVING_ON_PASSWORD_FAILED 30 Не удалось сохранить ключи аутентификации на новом пароле.
    CANNOT_START_SILENT_SESSION_WITHOUT_PASSWORD 31
    CHECK_REQUEST_RESPONSE_BODY_IS_EMPTY 32 При проверке статуса нового устройства получены неверный ответ сервера (сценарий с использованием существующего устройства).
    REGISTER_NEW_DEVICE_RESPONSE_BODY_IS_EMPTY 39 Получен пустой ответ сервера при регистрации нового устройства.
    REJECT_DEVICE_RESPONSE_BODY_IS_EMPTY 44 Получен пустой ответ сервера при отклонении привязки нового устройства.
    USER_REGISTER_RESPONSE_BODY_IS_EMPTY 45 Получен пустой ответ сервера при регистрации нового устройства.
    KINIT_NOT_LOADED 46 Не был отсканирован QR-код для регистрации устройства пользователя. Ошибку возвращает вызов метод Auth.kinit(). Необходимо предварительно вызвать метод Auth.scanQR().
    CANNOT_OPEN_KINIT_SESSION 47 Не удалось создать сессию взаимодействия с сервером с использование одноразового ключа аутентификации из QR-кода.
    USER_DEVICES_STRUCT_HAS_NO_DEVICES 48 При подтверждении (Auth.verify()) привязки устройства получен пустой ответ сервера.
    VERIFICATION_STRUCT_DID_NOT_LOADED 50 Для завершения привязки устройства требуется отсканировать QR-код (Auth.verify()).
    NO_CERT_ID_NEITHER_REQUEST_ID_ENTERED 70 Не передан ID сертификата или ID запроса на сертификат.
    GET_CERT_RESPONSE_BODY_IS_EMPTY 77 Получен пустой ответ сервера на запрос создания запроса на сертификат.
    GET_CERT_LIST_RESPONSE_BODY_IS_EMPTY 78 Получен пустой ответ сервера на запрос списка сертификатов.
    PARSE_CERT_LIST_RESPONSE_BODY_IS_EMPTY 79 Получен пустой ответ сервера на запрос декодирования сертификата.
    PARSE_CERTS_REQUEST_FAILED 81 Сетевая ошибка запроса декодирования сертификата.
    LIST_EXTERNAL_KEYS_FAILED 82 Сетевая ошибка на запрос установки сертификата на Рутокен.
    INSTALL_CERT_EXTERNAL_RESPONSE_BODY_IS_EMPTY 83
    LIST_EXTERNAL_KEYS_CANCEL 85 Пользователь закрыл экран NFC.
    CA_PARAMS_DESERIALIZATION_ERROR 103 Не удалось десериализовать настройки сервиса подписи.
    PARAMS_DSS_RESPONSE_BODY_IS_EMPTY 112 Получен пустой ответ сервера на запрос списка настроек сервера.
    CA_PARAMS_RESPONSE_BODY_IS_EMPTY 113 Получен пустой ответ сервера на запрос настроек сервиса подписи.
    USER_DEVICES_RESPONSE_BODY_IS_EMPTY 114 Получен пустой ответ сервера на запрос списка устройств пользователя.
    OPERATION_HISTORY_RESPONSE_BODY_IS_EMPTY 115 Получен пустой ответ сервера на запрос истории операция пользователя.
    SIGN_MT_OPERATION_CONFIRMATION_FAILED 153 Сетевая ошибка подтверждения операции.
    SIGN_MT_OPERATION_RESPONSE_CODE_NOT_OK 154
    GET_OPERATION_LIST_RESPONSE_BODY_IS_EMPTY 159 Получен пустой ответ сервера на запрос списка операций.
    SIGN_MO_OPERATION_RESPONSE_BODY_IS_EMPTY 160 Получен пустой ответ сервера на запрос подписи из мобильного приложения.
    TRANSACTION_STRUCT_NOT_LOADED 162 В метод Sign.sigmMt не переданы данные операции.
    TRANSACTION_STRUCT_NOT_CONTAINS_OPERATION 163 В метод Sign.sigmMt не переданы данные операции.
    SIGN_MO_OPERATION_CANCELLED 164 Пользователь закрыл экран подписи документов.
    UPLOAD_DOCUMENT_RESPONSE_BODY_EMPTY 200
    UPLOAD_DOCUMENT_FILE_NOT_FOUND 203
    UPLOAD_DOCUMENT_FILE_INPUT_ERROR 204
    GET_DOCUMENT_INFO_RESPONSE_BODY_EMPTY 205
    GET_DOCUMENT_PREVIEW_RESPONSE_BODY_EMPTY 208
    GET_DOCUMENT_RAW_RESPONSE_BODY_EMPTY 211
    GET_DOCUMENT_RAW_FAILED 213
    SAVE_DOC_TO_TMP_ERROR 214
    GET_DOCUMENT_RESPONCE_BODY_EMPTY 215
    JNI_FUN_FAILED 216 Ошибка выполнения криптографической операции. Нативный код ошибки и описание содержится в описании.
    GET_DOCUMENT_FAILED 217
    GET_DOCUMENT_IO_ERROR 218
    GET_DOCUMENT_INFO_FAILED 219
    NOT_SAFE_USAGE_CANCELLED_BY_USER 220 SDK не инициализирован. Пользователь запретил использовать API SDK, так как устройство является не безопасным.
    NFC_TOKEN_IS_REMOVE 221 NFC токен был убран во время выполнения операции.
    KEY_OPERATION_FAILED 222
    SEND_SIGN_REQUEST_FAILED 223 Ошибка отправки подписанного запроса на сертификат на сервер.
    CREATE_KEY_FAILED 223
    CERTIFICATE_INSTALLATION_FAILED 224
    SIGN_MT_OPERATION_EXPIRED 225 Истекло время подтверждения операции.
    PIN_CHANGED_FAILED 227 Ошибка смены ПИН-кода Рутокен.
    PIN_FORGETTING_FAILED 228
    PIN_CHANGED_CANCELED 229 Пользователь закрыл экран смены ПИН-кода на Рутокен.
    JNI_HMAC_AUTH_FAILED 230 Не удалось вычислить код аутентификации.
    USER_KEY_GEN_CANCELED 231 Пользователь отменил создание ключа в мобильном приложении (экран БИО ДСЧ закрыт).
    ACCESS_POLICY_VIOLATION 232 Сервер вернут ответ с HTTP-статусом 400. Действие запрещено настройками сервера.
    CONFIRMATION_POLICY_VIOLATION 233 Сервер вернут ответ с HTTP-статусом 400. Действие может быть выполнено только со вторичной аутентификацией.
    INVALID_SUBJECT_NAME 234 Указанное в запросе на сертификат имя субъекта не соответствует требованиям. Получен HTTP-ответ со статусом 400.
    INVALID_TEMPLATE 235 Указан неверный шаблон сертификата. Получен HTTP-ответ со статусом 400.
    INVALID_ENROLL 236 Указан неверный идентификатор модуля УЦ. Получен HTTP-ответ со статусом 400.
    INVALID_REQUEST 237 Неверный запрос на сертификат или связанные с запросом на сертификат данные. Получен HTTP-ответ со статусом 400.
    INVALID_PIN 238 Неверный ПИН-код для доступа к закрытому ключу, хранящемуся на сервере. Получен HTTP-ответ со статусом 400.
    INVALID_LICENSE 239 На сервере нет доступных лицензий для создания нового сертификата пользователя. Получен HTTP-ответ со статусом 400.
    INVALID_CERTIFICATE_ID 240 Передан неверный идентификатор сертификата. Получен HTTP-ответ со статусом 400.
    CERTIFICATE_NOT_FOUND_ID 241 Сертификат не найден по идентификатору. Получен HTTP-ответ со статусом 400.
    REQUEST_NOT_FOUND_BY_ID 242 Запрос на сертификат не найден по идентификатору. Получен HTTP-ответ со статусом 400.
    UNSIGNED_REQUEST_INVALID_STATE 243 Запрос на сертификат для мобильного приложения уже был обработан. Получен HTTP-ответ со статусом 400.
    DUPLICATE_FRIENDLY_NAME 244 Дружественное имя уже назначено другому сертификату. Получен HTTP-ответ со статусом 400.
    INVALID_CERT_REQUEST 245 Не найден запрос на сертификат. Получен HTTP-ответ со статусом 400.
    PENDING_REQUESTS_EXIST 246 Ошибка создания запроса на сертификат. У пользователя уже есть необработанный запрос на сертификат. Получен HTTP-ответ со статусом 400.
    CERT_ALREADY_INSTALLED 247 Сертификат уже был установлен. Получен HTTP-ответ со статусом 400.
    DUPLICATE_CERT_FOUND 248 Сертификат уже был установлен для другой учетной записи. Получен HTTP-ответ со статусом 400.
    KEY_NOT_FOUND 249 Не найден закрытый ключ сертификата. Получен HTTP-ответ со статусом 400.
    KEY_TYPE_MISMATCH 250 Устанавливаемый сертификат не соответствует типу закрытого ключу (серверный/клиентский). Получен HTTP-ответ со статусом 400.
    INVALID_CERTIFICATE_STATUS 251 Неверный статус сертификата для выполнения отзыва/приостановления/восстановления. Получен HTTP-ответ со статусом 400.
    CONTENT_REQUIRED 252 Не передан документ для выполнения операции. Получен HTTP-ответ со статусом 400.
    INVALID_CONTENT 253 Получены неверные данные при усовершенствовании подписи. Получен HTTP-ответ со статусом 400.
    INVALID_CERTIFICATE 254 Сертификат не может быть использован для
    INVALID_SIGNATURE_TYPE 255 Неверный тип подписи, инициированной в мобильном приложении. Получен HTTP-ответ со статусом 400.
    INVALID_PROCESSING_TEMPLATE 256 Неверный идентификатор шаблона подписи, инициированной в мобильном приложении. Получен HTTP-ответ со статусом 400.
    INVALID_SIGNATURE_PARAMS 257 Неверный набор параметров подписи, инициированной в мобильном приложении. Получен HTTP-ответ со статусом 400.
    INVALID_PRESIGNED_HASH_DATA 258 Ошибка подписи с использованием ключей в мобильном приложении. Получен HTTP-ответ со статусом 400.
    INVALID_SIGNED_DOCS_IDS_DATA 259 Ошибка подписи с использованием ключей в мобильном приложении. Получен HTTP-ответ со статусом 400.
    DOC_NOT_FOUND 260 Не найден документ, указанный в операции. Получен HTTP-ответ со статусом 400.
    KEY_UNAVAILABLE 261 Ошибка доступа к серверному ключу подписи. Получен HTTP-ответ со статусом 400.
    INVALID_TSP_ADDRESS 262 Указан неверный адрес TSP-службы. Получен HTTP-ответ со статусом 400.
    INVALID_CERT 263 Истек срок действия сертификата. Получен HTTP-ответ со статусом 400.
    ARCHIVE_DISABLED 264 Ошибка архивирования ключа подписи. Архивирование ключей подписи запрещено настройками сервера. Получен HTTP-ответ со статусом 400.
    INVALID_CERT_TYPE 265 Ошибка архивирования ключа подписи. Сертификат не поддерживает архивирование. Получен HTTP-ответ со статусом 400.
    ALREADY_ARCHIVED 266 Ошибка создания архивной копии ключа подписи. Ключ подписи уже был архивирован. Получен HTTP-ответ со статусом 400.
    CERT_MISMATCH 267 Ошибка установки сертификата. Сертификат не соответствует закрытому ключу. Получен HTTP-ответ со статусом 400.
    NOT_ARCHIVED 268 Ошибка восстановления ключа подписи из архивной копии. Ключ подписи не был архивирован. Получен HTTP-ответ со статусом 400.
    KEY_ALREADY_CONFIRMED 269 Установка ключей аутентификации уже была выполнена. Получен HTTP-ответ со статусом 400. Ошибку может вернуть метод Auth.confirm().
    KINIT_ALREADY_USED 270 QR-код для привязки УЗ уже был использован или удалён. Получен HTTP-ответ со статусом 400.
    INVALID_KEY_ID 271 Передан невалидный идентификатор ключей аутентификации (KID). Получен HTTP-ответ со статусом 400.
    REQUESTED_USER_NOT_FOUND 272 УЗ пользователя не найдена. Получен HTTP-ответ со статусом 400.
    INVALID_KEY_STATE 273 Статус ключей аутентификации не соответствует запрошенной операции. Получен HTTP-ответ со статусом 400.
    INVALID_PROFILE_HMAC 274 Ошибка подтверждения УЗ пользователя. Передан неверный код подтверждения УЗ. Получен HTTP-ответ со статусом 400.
    INVALID_VERIFICATION_NONCE 275 Ошибка подтверждения УЗ пользователя. Передан неверный идентификатор из QR-кода. Получен HTTP-ответ со статусом 400.
    INVALID_AUTHENTICATION_SCHEME 276 Ошибка аутентификации. Пользователю отключена аутентификация при помощи мобильного приложения. Получен HTTP-ответ со статусом 401.
    USER_BLOCKED 277 Ошибка аутентификации. Учётная запись пользователя заблокирована на сервере. Получен HTTP-ответ со статусом 401.
    USER_NOT_FOUND 278 Ошибка аутентификации. Учётная запись пользователя не найдена или удалена на сервере. Получен HTTP-ответ со статусом 401.
    INVALID_HMAC 279 Ошибка аутентификации. Передан неверный код аутентификации. Получен HTTP-ответ со статусом 401.
    DEVICE_BLOCKED 280 Ошибка аутентификации. Мобильное устройство пользователя заблокировано на сервере. Получен HTTP-ответ со статусом 401.
    ASSERTION_REPLAY 281 Ошибка аутентификации. Получено два одинаковых запроса. Получен HTTP-ответ со статусом 401.
    INVALID_GRANT 282 Ошибка аутентификации. Получен HTTP-ответ со статусом 401.
    INVALID_KINIT 283 Ошибка аутентификации. По данному QR-коду уже выполнена привязка устройства или срок действия QR-кода уже истек. Получен HTTP-ответ со статусом 401.
    KEY_NOT_FOUND_ERROR 284 На устройстве пользователя не найден ключ подписи.
    INVALID_CERT_STATE 285 Статус запроса на сертификат не допускает выполнение операции. Ошибку возвращает вызов методы Cert.signRequest(), Cert.createKeyAndSignRequest(), если статус запроса не равен SIGN_WAIT; метод Cert.installCertificate(), если статус не равен ACCEPTED.
    USER_FORGOT_PASSWORD 286 Пользователь нажал кнопку "Забыл пароль".
    USER_CANCELED_FORM 287 Пользователь закрыл экран SDK.
    REQUEST_WAS_LARGER 413 Переданные на сервер данные превышают ограничения, установленные на сервере. Получен HTTP-ответ со статусом 413.
    INTERNAL_SERVER_ERROR 500 Получен HTTP-ответ со статусом 500.
    BAD_GATEWAY 502 Получен HTTP-ответ со статусом 502.
    SERVICE_UNAVAILABLE 503 Получен HTTP-ответ со статусом 503.
    RESPONSE_CODE_NOT_OK 876 Получен HTTP-ответ со статусом 400, 401 и неизвестным прикладным кодом ошибки. Код ошибки и описание ошибки содержится в описании.
    В начало © ООО "КРИПТО-ПРО", 2000–2025