Как реализовать аутентификацию с помощью USB-токена и смарт-карты в приложение Android?
Хочу добавить в разрабатываемое мною android-приложение возможность аутентификации с помощью USB-токена и смарт-карты, но нигде не нахожу руководства как это сделать именно под Android. Опишите пожалуйста максимально подробно как можно реализовать задуманное. Также буду рад ссылкам на полезные ресурсы по данной теме. Заранее спасибо.
USB токены и смарткарты - если речь о чем-то вроде продукции компании Алладин и Рутокен, аппаратные ключи, т.е. необходимо либо использование их "штатного" софта, либо их SDK. На сайтах производителей токенов есть вся необходимая информация.
А нет ли универсального решения для usb-токенов и смарт-карт всех компаний? Вроде у Google и Facebook есть возможность добавить usb-токен в качестве второго фактора двухфакторной аутентификации. Неужели они используют "штатные" софты либо SDK для каждой конкретной компании (точнее их продукции)?
AlexDiuMan, почти верно говоришь. Это разные стандарты - FIDO U2F - стильно, модно, молодёжно. Тут вопрос какой, для чего хотим аутентификацию по токену? Аппаратные токены - не просто хранят ключи во внутренней памяти и обеспечивают их изоляцию, но и обеспечивают внутри себя функции шифрования - дешифрования (подписи) данных. Т.е. буквально - данные прогоняются через токен - так что всегда нужны драйвера(либы - АПИ). Функцию работы с токенами можно возложить на CSP (Crypto Service Provider) типа Крипто Про, но в таком случае интеграция с токенами - дело криптопровайдера и его головная боль. Криптопровайдер интегрируется в ОС на уровне Core API.