W kodzie przykładowego odcisków palców Androida FingerprintDialog, metoda, która uruchamia sprzęt linii papilarnych FingerprintManager#authenticate, przyjmuje parametr FingerprintManager.CryptoObject. Zgodnie z dokumentacją jest to object associated with the call or null if none required
. Opis nadal nie jest dla mnie jasny. Czy ktoś wytłumaczyłby, kiedy powinienem lub nie powinienem używać Crypto Dzięki.Użycie Android CryptoObject w odciskach palców
5
A
Odpowiedz
7
Próbka FingerprintDialog przewidzianych w Android próbek jest nieco gęsty więc niech rozbić to, co się dzieje:
- Konfiguruj i generowania kluczy kryptograficznych. W tym kroku możesz określić, że Klucz może być użyty tylko wtedy, gdy
KeyGenParameterSpec.Builder.setAuthenticated(true)
. - Inicjalizuje Cipher obiekt z cipherMode (szyfrowania/odszyfrowywania) i klucza wygenerowanego z Etapu 1
- Inicjalizuje
FingerprintCrypto.CryptoObject()
z szyfru z etapu 2 - Rozpocząć czytnik odcisku i przechodzą w CryptoObject z etapu 3 przez dzwoniąc pod numer
FingerprintManager.authenticate()
- Użytkownik pomyślnie dokonuje uwierzytelnienia za pomocą odcisku palca. System operacyjny Android ustawi bit "uwierzytelniony" w kluczu od 0 do 1.
- Teraz, gdy klucz został uwierzytelniony do użycia, można go użyć do wykonania dowolnej operacji kryptograficznej, dzwoniąc pod numer
Cipher.doFinal()
.
Jeśli spróbujesz zmodyfikować krok 4 przekazując w null
do FingerprintManager.authenticate()
, następnie krok 6 nie powiedzie się, ponieważ nie zostały uwierzytelnione użyć klucza.
Nadzieję, że pomaga.
Powiązane problemy
- 1. Dlaczego obiekt kryptograficzny jest potrzebny do uwierzytelniania odcisków palców w systemie Android?
- 2. Skanowanie odcisków palców w systemie Android za pomocą urządzenia Samsung
- 3. Jak rozpoznać dotknięcie trzech palców w Androidzie
- 4. Android - użycie FLAG_ACTIVITY_NEW_TASK
- 5. Skaner odcisków palców Android M na emulatorze Androida
- 6. Jak uzyskać certyfikat androida odcisków palców w Androidzie Studio
- 7. Algorytmy dopasowywania/rozpoznawania odcisków palców
- 8. użycie IN słów kluczowych w android SQLite
- 9. Android: Howto użycie clipRect w API15
- 10. IntelliJ/Android Studio: usuń niepotrzebne użycie "tego".
- 11. Android - użycie DexClassLoader do załadowania pliku APK
- 12. Wykrywanie plagiatu - algorytm przesiewania - zderzenie odcisków palców
- 13. Thymeleaf i zasoby statyczne z odcisków palców
- 14. Android: Nieprawidłowe użycie SingleClientConnManager: gra nadal przydzielone
- 15. Jak wykryć użycie sterty wielkości aplikacji Android?
- 16. Wejście LIBGDX - Liczba palców dotykających ekranu
- 17. Miejsca robocze Chrome z zasobami odcisków palców
- 18. Konwertuj obraz odcisków palców na porównywalny szablon
- 19. Jak uzyskać odciski palców SHA1 z certyfikatu P12?
- 20. Prawidłowe użycie yieldIfContendedSafely() w aplikacji wielowątkowej z systemem Android
- 21. Znajdź użycie id nie działa w Android Studio na Windows
- 22. Jak śledzić końcówki palców w OpenCV lub OpenFrameworks?
- 23. Użycie argv w C?
- 24. Użycie zatrzymania w initWithCoder?
- 25. Użycie ksize w tf.nn.max_pool
- 26. Użycie IExtensibleDataObject w klientach
- 27. Użycie przechwytywacza w zasobach $
- 28. Użycie emptyIterator w java
- 29. użycie `else` w makr
- 30. Jak sprawdzić użycie GPU urządzenia z systemem Android?
Przede wszystkim bardzo dziękuję za pomoc. W odniesieniu do kroku 1 zakładałem, że masz na myśli 'KeyGenParameterSpec.Builder.setUserAuthenticationRequired (boolean required)'. Próbowałem wcześniej przekazać wartość zerową w kroku 4. Tym razem spróbowałem ustawić krok 1 na false i mogłem wywołać 'Cipher.doFinal()' z wynikiem zwróconym nawet przed uwierzytelnieniem odcisków palców. Klucz nie ma nic wspólnego z przepływem uwierzytelnienia odcisków palców, jest tylko częścią przykładowego kodu, który demonstruje sposób uwierzytelnienia użycia klucza. –
Ale inne pytanie brzmi: dlaczego muszę uwierzytelniać klucz, który sam utworzę w ramach tego samego programu? –
Domyślnie klawisze w magazynie kluczy mogą być używane bez uwierzytelniania. Jeśli wywołasz setUserAuthenticationRequired z wartością true, musisz użyć odcisku palca, aby użyć klucza. –