android / android/security-samples

I face the crash in xiaomi10

Aperta
#70 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Kotlin
Stelle
1k
Fork
450
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

```
java.lang.RuntimeException:java.lang.reflect.InvocationTargetException
--
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
 ......
 com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException:Protocol message contained an invalid tag (zero).
 com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite parsePartialFrom(com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite,byte[],int,int,com.google.crypto.tink.shaded.protobuf.ExtensionRegistryLite)(GeneratedMessageLite.java:10)
 com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite parseFrom(com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite,byte[],com.google.crypto.tink.shaded.protobuf.ExtensionRegistryLite)(GeneratedMessageLite.java:2)
com.google.crypto.tink.proto.Keyset.com.google.crypto.tink.proto.Keyset parseFrom(byte[],com.google.crypto.tink.shaded.protobuf.ExtensionRegistryLite)(Keyset.java:1)
8 com.google.crypto.tink.integration.android.SharedPrefKeysetReader.com.google.crypto.tink.proto.Keyset read()(SharedPrefKeysetReader.java:1)
com.google.crypto.tink.CleartextKeysetHandle.com.google.crypto.tink.KeysetHandle read(com.google.crypto.tink.KeysetReader)(CleartextKeysetHandle.java:1)
com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.com.google.crypto.tink.KeysetManager read()(AndroidKeysetManager.java:4)
com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.com.google.crypto.tink.KeysetManager readOrGenerateNewKeyset()(AndroidKeysetManager.java:1)
 com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.com.google.crypto.tink.integration.android.AndroidKeysetManager build()(AndroidKeysetManager.java:3)
androidx.security.crypto.EncryptedSharedPreferences.android.content.SharedPreferences create(java.lang.String,java.lang.String,android.content.Context,androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme,androidx.security.crypto.EncryptedSharedPreferences$PrefValueEncryptionScheme)(EncryptedSharedPreferences.java:7)
SharedPreferencesUtils$preferences$2.android.content.SharedPreferences invoke()(SharedPreferencesUtils.kt:6)
SharedPreferencesUtils$preferences$2.java.lang.Object invoke()(SharedPreferencesUtils.kt:1)
kotlin.SynchronizedLazyImpl.java.lang.Object getValue()(LazyJVM.kt:6)
SharedPreferencesUtils.android.content.SharedPreferences getPreferences()(Unknown Source:2)
SharedPreferencesUtils.android.content.SharedPreferences access$getPreferences$p(SharedPreferencesUtils)(SharedPreferencesUtils.kt:1)

```

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia da SharedPreferencesUtils.kt e riproduci lo stack trace su uno Xiaomi 10, concentrandoti sul percorso di inizializzazione mostrato di EncryptedSharedPreferences e AndroidKeysetManager. Esamina come viene letto il keyset e determina quale stato attiva il tag protobuf non valido. Il lavoro è completato quando l’esempio non va più in crash lungo questo percorso e il comportamento delle preferences interessate è verificato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, kotlin
Ambito
mobile-dev, security
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.