Skip to content

Issues with secure shared preferences  #15

@AniketSindhu

Description

@AniketSindhu

Bug Report

  • I'm using the latest version of the SDK.
  • I've seen the docs and the demo code.
  • I'm using the SDK directly (not via a 3rd party library or application).
    • I've been able to confirm that the issue comes from this SDK, not the 3rd party software on top.

Current Behavior

For some of the users beacon android sdk is throwing this error

 com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
	 at com.google.crypto.tink.shaded.protobuf.ArrayDecoders.decodeUnknownField(ArrayDecoders.java:1036)
	 at com.google.crypto.tink.shaded.protobuf.MessageSchema.parseProto3Message(MessageSchema.java:5426)
	 at com.google.crypto.tink.shaded.protobuf.MessageSchema.mergeFrom(MessageSchema.java:5442)
	 at com.google.crypto.tink.shaded.protobuf.ArrayDecoders.decodeMessageField(ArrayDecoders.java:246)
	 at com.google.crypto.tink.shaded.protobuf.ArrayDecoders.decodeMessageList(ArrayDecoders.java:704)
	 at com.google.crypto.tink.shaded.protobuf.MessageSchema.parseProto3Message(MessageSchema.java:5373)
	 at com.google.crypto.tink.shaded.protobuf.MessageSchema.mergeFrom(MessageSchema.java:5442)
	 at com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.parsePartialFrom(GeneratedMessageLite.java:1567)
	 at com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.parseFrom(GeneratedMessageLite.java:1680)
	 at com.google.crypto.tink.proto.Keyset.parseFrom(Keyset.java:958)
	 at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.read(SharedPrefKeysetReader.java:84)
	 at com.google.crypto.tink.CleartextKeysetHandle.read(CleartextKeysetHandle.java:61)
	 at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:332)
	 at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:288)
	 at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:239)
	 at androidx.security.crypto.EncryptedFile$Builder.build(EncryptedFile.java:233)
	 at it.airgap.beaconsdk.core.internal.storage.sharedpreferences.encryptedfile.TargetEncryptedFileManager$write$2$1.invokeSuspend(TargetEncryptedFileManager.kt:49)
	 at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	 at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	 at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
	 at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	 at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	 at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
	 at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	 at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

How to Reproduce?

We are also using secured shared preference in our app. I think it might be due to some conflicts

Environment

  • Device: Redmi note 8
  • OS version: Android11 (v11)(Level 30)

Additional Context

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions