Обработка ошибок (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 и неизвестным прикладным кодом ошибки. Код ошибки и описание ошибки содержится в описании. |