Как я могу получить данные байта отпечатка пальца с помощью API Nougat?

Я хочу получить данные байта отпечатка пальца с помощью android 7 api. Для этого я следую этому руководству: Учебное пособие по Fingerprint API

В этом уроке у меня есть готовые инструкции по аутентификации пользователя с помощью отпечатка пальца с использованием API отпечатка пальца.

public void startListening(FingerprintManager.CryptoObject cryptoObject) {
        if (!isFingerprintAuthAvailable()) {
            return;
        }
        mCancellationSignal = new CancellationSignal();
        mSelfCancelled = false;
        mFingerprintManager
                .authenticate(cryptoObject, mCancellationSignal, 0 /* flags */, this, null);
        mIcon.setImageResource(R.drawable.ic_fp_40px);
    }


    public void stopListening() {
        if (mCancellationSignal != null) {
            mSelfCancelled = true;
            mCancellationSignal.cancel();
            mCancellationSignal = null;
        }
    }

Но мне не нужно аутентифицировать данные отпечатка пальца пользователя с помощью android api. Мне нужны только байтовые данные отпечатка пальца, полученные из android api. Как я могу это получить?

0
0
485
1

Ответы 1

Текущий (и, вероятно, будущий) Android API будет разрешать только аутентификацию отпечатков пальцев и не будет иметь доступа к самим необработанным данным отпечатков пальцев. Это связано с тем, как Android обрабатывает данные отпечатков пальцев; он анализируется исключительно в Trusted Execution Environment (TEE). TEE содержит единственный ключ шифрования данных отпечатка пальца и никогда не покидает TEE, поэтому даже если вы можете получить данные отпечатка пальца, они будут зашифрованы.

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

Вы можете узнать больше о TEE здесь

Если вам действительно нужен доступ к необработанным данным отпечатков пальцев, я предлагаю использовать внешний сканер с сопутствующим SDK, таким как Вот этот. Я использовал это для проектов раньше, и SDK очень хорош и хорошо документирован.

Я интегрировал secugen sdk. Но почему я не могу получить данные о пальцах с помощью android api?

A Stranger 09.04.2018 18:57

Вы не можете использовать Android API по всем причинам, указанным в первом абзаце моего ответа и связанной статье

aliaksei 09.04.2018 19:02

Другие вопросы по теме