Skip to content

[PM-24971] AliExpress fails to create a Passkey #5740

@olegbilovus

Description

@olegbilovus

Origin

Native Application (non-browser app)

Web URL or App name

AliExpress

Passkey Action

  • Creating new passkey (Registration)
  • Signing in (Authentication)

Build Information

© Bitwarden Inc. 2015-2025

Version: 2025.7.2 (20551)
📱 samsung SM-G998B 🤖 15@35 📦 prod
🧱 commit: 277fcbf
💻 build source: bitwarden/android/actions/runs/16758228945/attempts/1
🦀 SDK: 1.0.0-20250715.111352-243
🌩 Server: 2025.7.3 @ EU

Additional Information

Image

When I login in the AliExpress app, it gives the possibility to create a Passkey, but Bitwarden gives a generic error when I try to create one.

I enabled Flight recorder and got the log when the app gives the error. It seems like in the base64 string, it doesn't remove the new line at the end.

Logs Bitwarden Android Log Start Time: 2025-08-19 13:42:40:515 Log Duration: 1h App Version: 2025.7.2 (20551) Build: release/standard Operating System: 15 (35) Device: samsung SM-G998B 2025-08-19 13:42:40:519 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute 2025-08-19 13:42:40:519 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute 2025-08-19 13:42:40:519 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute 2025-08-19 13:42:40:566 – DEBUG – VaultUnlockedNavBarScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.settings.about.SettingsAboutRoute.Standard in com.x8bit.bitwarden.ui.platform.feature.settings.SettingsGraphRoute 2025-08-19 13:42:44:446 – DEBUG – Current environment: EU 2025-08-19 13:42:44:448 – DEBUG – Current environment: EU 2025-08-19 13:42:44:950 – DEBUG – BitwardenNetworkClient – --> GET https://api.bitwarden.eu/config 2025-08-19 13:42:45:743 – DEBUG – BitwardenNetworkClient – <-- 200 https://api.bitwarden.eu/config (791ms, unknown-length body) 2025-08-19 13:42:45:813 – DEBUG – App is foregrounded 2025-08-19 13:42:45:834 – DEBUG – MainActivity destination changed: root 2025-08-19 13:42:45:850 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.splash.SplashRoute 2025-08-19 13:42:45:870 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.auth.feature.vaultunlock.VaultUnlockRoute$Standard/{encodedData} 2025-08-19 13:42:46:617 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.auth.feature.vaultunlock.VaultUnlockRoute$Standard/{encodedData} 2025-08-19 13:42:46:620 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute 2025-08-19 13:42:46:620 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute 2025-08-19 13:42:46:621 – DEBUG – RootNavScreen destination changed: Yb.K/{encodedData} in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute 2025-08-19 13:42:46:621 – DEBUG – RootNavScreen destination changed: Yb.K/{encodedData} in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute 2025-08-19 13:42:46:647 – DEBUG – BitwardenNetworkClient – --> GET https://digitalassetlinks.googleapis.com/v1/assetlinks:check?source.web.site=https%3A%2F%2Fm.aliexpress.com&target.androidApp.packageName=com.alibaba.aliexpresshd&target.androidApp.certificate.sha256Fingerprint=4F%3AC3%3AB2%3A67%3A39%3A3E%3AA2%3A35%3A1C%3A47%3A16%3AB3%3A7E%3A69%3A10%3A51%3A7F%3A19%3A7E%3AB4%3A79%3ABC%3A43%3AD9%3AC9%3AA5%3AA4%3A6D%3A49%3ADD%3A70%3A0E&relation=delegate_permission%2Fcommon.handle_all_urls 2025-08-19 13:42:46:900 – DEBUG – BitwardenNetworkClient – <-- 200 https://digitalassetlinks.googleapis.com/v1/assetlinks:check?source.web.site=https%3A%2F%2Fm.aliexpress.com&target.androidApp.packageName=com.alibaba.aliexpresshd&target.androidApp.certificate.sha256Fingerprint=4F%3AC3%3AB2%3A67%3A39%3A3E%3AA2%3A35%3A1C%3A47%3A16%3AB3%3A7E%3A69%3A10%3A51%3A7F%3A19%3A7E%3AB4%3A79%3ABC%3A43%3AD9%3AC9%3AA5%3AA4%3A6D%3A49%3ADD%3A70%3A0E&relation=delegate_permission%2Fcommon.handle_all_urls (251ms, unknown-length body) 2025-08-19 13:42:47:131 – DEBUG – MainActivity destination changed: root 2025-08-19 13:42:47:143 – DEBUG – RootNavScreen destination changed: Yb.K/{encodedData} in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute 2025-08-19 13:42:47:633 – WARNING – com.bitwarden.sdk.BitwardenException$E: invalid value: string "NjQzNjMyMTk0NQ==\n", expected A base64(url) encoded string at line 1 column 425 at com.bitwarden.sdk.FfiConverterTypeBitwardenError.read(SourceFile:3) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.read(SourceFile:1) at com.bitwarden.sdk.FfiConverter$DefaultImpls.liftFromRustBuffer(Unknown Source:12) at com.bitwarden.sdk.FfiConverterRustBuffer$DefaultImpls.liftFromRustBuffer(Unknown Source:5) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.liftFromRustBuffer(SourceFile:1) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.liftFromRustBuffer(SourceFile:2) at com.bitwarden.sdk.FfiConverterRustBuffer$DefaultImpls.lift(Unknown Source:5) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.lift(SourceFile:1) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.lift(SourceFile:2) at com.bitwarden.sdk.BitwardenException$ErrorHandler.lift(SourceFile:2) at com.bitwarden.sdk.BitwardenException$ErrorHandler.lift(SourceFile:1) at com.bitwarden.sdk.Bitwarden_uniffiKt.uniffiCheckCallStatus(Unknown Source:78) at com.bitwarden.sdk.Bitwarden_uniffiKt.access$uniffiCheckCallStatus(Unknown Source:0) at com.bitwarden.sdk.Bitwarden_uniffiKt.uniffiRustCallAsync(Unknown Source:185) at com.bitwarden.sdk.ClientFido2Client.register$suspendImpl(Unknown Source:125) at com.bitwarden.sdk.ClientFido2Client.register(Unknown Source:0) at L8.L.invokeSuspend(Unknown Source:104) at L8.L.invoke(Unknown Source:12) at hd.e.e(Unknown Source:48) at hd.c.e(Unknown Source:58) at id.e.invokeSuspend(Unknown Source:32) at Gc.a.resumeWith(Unknown Source:7) at ed.K.run(Unknown Source:114) at ed.X.v0(Unknown Source:23) at jd.b.h(Unknown Source:141) at ed.A.invoke(Unknown Source:122) at ed.C.x(Unknown Source:22) at ed.C.y(Unknown Source:12) at Yb.z1.q(Unknown Source:51) at Yb.z1.p(Unknown Source:70) at Yb.c1.invokeSuspend(Unknown Source:117) at Gc.a.resumeWith(Unknown Source:7) at ed.K.run(Unknown Source:114) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:257) at android.os.Looper.loop(Looper.java:342) at android.app.ActivityThread.main(ActivityThread.java:9634) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) – com.bitwarden.sdk.BitwardenException$E: invalid value: string "NjQzNjMyMTk0NQ==\n", expected A base64(url) encoded string at line 1 column 425 at com.bitwarden.sdk.FfiConverterTypeBitwardenError.read(SourceFile:3) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.read(SourceFile:1) at com.bitwarden.sdk.FfiConverter$DefaultImpls.liftFromRustBuffer(Unknown Source:12) at com.bitwarden.sdk.FfiConverterRustBuffer$DefaultImpls.liftFromRustBuffer(Unknown Source:5) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.liftFromRustBuffer(SourceFile:1) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.liftFromRustBuffer(SourceFile:2) at com.bitwarden.sdk.FfiConverterRustBuffer$DefaultImpls.lift(Unknown Source:5) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.lift(SourceFile:1) at com.bitwarden.sdk.FfiConverterTypeBitwardenError.lift(SourceFile:2) at com.bitwarden.sdk.BitwardenException$ErrorHandler.lift(SourceFile:2) at com.bitwarden.sdk.BitwardenException$ErrorHandler.lift(SourceFile:1) at com.bitwarden.sdk.Bitwarden_uniffiKt.uniffiCheckCallStatus(Unknown Source:78) at com.bitwarden.sdk.Bitwarden_uniffiKt.access$uniffiCheckCallStatus(Unknown Source:0) at com.bitwarden.sdk.Bitwarden_uniffiKt.uniffiRustCallAsync(Unknown Source:185) at com.bitwarden.sdk.ClientFido2Client.register$suspendImpl(Unknown Source:125) at com.bitwarden.sdk.ClientFido2Client.register(Unknown Source:0) at L8.L.invokeSuspend(Unknown Source:104) at L8.L.invoke(Unknown Source:12) at hd.e.e(Unknown Source:48) at hd.c.e(Unknown Source:58) at id.e.invokeSuspend(Unknown Source:32) at Gc.a.resumeWith(Unknown Source:7) at ed.K.run(Unknown Source:114) at ed.X.v0(Unknown Source:23) at jd.b.h(Unknown Source:141) at ed.A.invoke(Unknown Source:122) at ed.C.x(Unknown Source:22) at ed.C.y(Unknown Source:12) at Yb.z1.q(Unknown Source:51) at Yb.z1.p(Unknown Source:70) at Yb.c1.invokeSuspend(Unknown Source:117) at Gc.a.resumeWith(Unknown Source:7) at ed.K.run(Unknown Source:114) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:257) at android.os.Looper.loop(Looper.java:342) at android.app.ActivityThread.main(ActivityThread.java:9634) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)

2025-08-19 13:42:47:633 – ERROR – Failed to register FIDO2 credential.
com.bitwarden.sdk.BitwardenException$E: invalid value: string "NjQzNjMyMTk0NQ==\n", expected A base64(url) encoded string at line 1 column 425
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.read(SourceFile:3)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.read(SourceFile:1)
at com.bitwarden.sdk.FfiConverter$DefaultImpls.liftFromRustBuffer(Unknown Source:12)
at com.bitwarden.sdk.FfiConverterRustBuffer$DefaultImpls.liftFromRustBuffer(Unknown Source:5)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.liftFromRustBuffer(SourceFile:1)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.liftFromRustBuffer(SourceFile:2)
at com.bitwarden.sdk.FfiConverterRustBuffer$DefaultImpls.lift(Unknown Source:5)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.lift(SourceFile:1)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.lift(SourceFile:2)
at com.bitwarden.sdk.BitwardenException$ErrorHandler.lift(SourceFile:2)
at com.bitwarden.sdk.BitwardenException$ErrorHandler.lift(SourceFile:1)
at com.bitwarden.sdk.Bitwarden_uniffiKt.uniffiCheckCallStatus(Unknown Source:78)
at com.bitwarden.sdk.Bitwarden_uniffiKt.access$uniffiCheckCallStatus(Unknown Source:0)
at com.bitwarden.sdk.Bitwarden_uniffiKt.uniffiRustCallAsync(Unknown Source:185)
at com.bitwarden.sdk.ClientFido2Client.register$suspendImpl(Unknown Source:125)
at com.bitwarden.sdk.ClientFido2Client.register(Unknown Source:0)
at L8.L.invokeSuspend(Unknown Source:104)
at L8.L.invoke(Unknown Source:12)
at hd.e.e(Unknown Source:48)
at hd.c.e(Unknown Source:58)
at id.e.invokeSuspend(Unknown Source:32)
at Gc.a.resumeWith(Unknown Source:7)
at ed.K.run(Unknown Source:114)
at ed.X.v0(Unknown Source:23)
at jd.b.h(Unknown Source:141)
at ed.A.invoke(Unknown Source:122)
at ed.C.x(Unknown Source:22)
at ed.C.y(Unknown Source:12)
at Yb.z1.q(Unknown Source:51)
at Yb.z1.p(Unknown Source:70)
at Yb.c1.invokeSuspend(Unknown Source:117)
at Gc.a.resumeWith(Unknown Source:7)
at ed.K.run(Unknown Source:114)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:342)
at android.app.ActivityThread.main(ActivityThread.java:9634)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
– com.bitwarden.sdk.BitwardenException$E: invalid value: string "NjQzNjMyMTk0NQ==\n", expected A base64(url) encoded string at line 1 column 425
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.read(SourceFile:3)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.read(SourceFile:1)
at com.bitwarden.sdk.FfiConverter$DefaultImpls.liftFromRustBuffer(Unknown Source:12)
at com.bitwarden.sdk.FfiConverterRustBuffer$DefaultImpls.liftFromRustBuffer(Unknown Source:5)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.liftFromRustBuffer(SourceFile:1)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.liftFromRustBuffer(SourceFile:2)
at com.bitwarden.sdk.FfiConverterRustBuffer$DefaultImpls.lift(Unknown Source:5)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.lift(SourceFile:1)
at com.bitwarden.sdk.FfiConverterTypeBitwardenError.lift(SourceFile:2)
at com.bitwarden.sdk.BitwardenException$ErrorHandler.lift(SourceFile:2)
at com.bitwarden.sdk.BitwardenException$ErrorHandler.lift(SourceFile:1)
at com.bitwarden.sdk.Bitwarden_uniffiKt.uniffiCheckCallStatus(Unknown Source:78)
at com.bitwarden.sdk.Bitwarden_uniffiKt.access$uniffiCheckCallStatus(Unknown Source:0)
at com.bitwarden.sdk.Bitwarden_uniffiKt.uniffiRustCallAsync(Unknown Source:185)
at com.bitwarden.sdk.ClientFido2Client.register$suspendImpl(Unknown Source:125)
at com.bitwarden.sdk.ClientFido2Client.register(Unknown Source:0)
at L8.L.invokeSuspend(Unknown Source:104)
at L8.L.invoke(Unknown Source:12)
at hd.e.e(Unknown Source:48)
at hd.c.e(Unknown Source:58)
at id.e.invokeSuspend(Unknown Source:32)
at Gc.a.resumeWith(Unknown Source:7)
at ed.K.run(Unknown Source:114)
at ed.X.v0(Unknown Source:23)
at jd.b.h(Unknown Source:141)
at ed.A.invoke(Unknown Source:122)
at ed.C.x(Unknown Source:22)
at ed.C.y(Unknown Source:12)
at Yb.z1.q(Unknown Source:51)
at Yb.z1.p(Unknown Source:70)
at Yb.c1.invokeSuspend(Unknown Source:117)
at Gc.a.resumeWith(Unknown Source:7)
at ed.K.run(Unknown Source:114)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:342)
at android.app.ActivityThread.main(ActivityThread.java:9634)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)

2025-08-19 13:42:48:349 – DEBUG – App is backgrounded
2025-08-19 13:42:52:421 – DEBUG – App is foregrounded
2025-08-19 13:42:52:435 – DEBUG – MainActivity destination changed: root
2025-08-19 13:42:52:447 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.splash.SplashRoute
2025-08-19 13:42:52:468 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.auth.feature.vaultunlock.VaultUnlockRoute$Standard/{encodedData}
2025-08-19 13:42:52:887 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.auth.feature.vaultunlock.VaultUnlockRoute$Standard/{encodedData}
2025-08-19 13:42:52:888 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute
2025-08-19 13:42:52:888 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute
2025-08-19 13:42:52:936 – DEBUG – VaultUnlockedNavBarScreen destination changed: com.x8bit.bitwarden.ui.vault.feature.vault.VaultRoute in com.x8bit.bitwarden.ui.vault.feature.vault.VaultGraphRoute
2025-08-19 13:42:53:394 – DEBUG – MainActivity destination changed: root
2025-08-19 13:42:53:405 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute
2025-08-19 13:42:53:425 – DEBUG – VaultUnlockedNavBarScreen destination changed: com.x8bit.bitwarden.ui.vault.feature.vault.VaultRoute in com.x8bit.bitwarden.ui.vault.feature.vault.VaultGraphRoute
2025-08-19 13:42:54:626 – DEBUG – Network status change: Wifi(strength=UNKNOWN)
2025-08-19 13:42:56:722 – DEBUG – VaultUnlockedNavBarScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.settings.SettingsRoute$Standard/{encodedData} in com.x8bit.bitwarden.ui.platform.feature.settings.SettingsGraphRoute
2025-08-19 13:42:56:725 – DEBUG – VaultUnlockedNavBarScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.settings.about.SettingsAboutRoute.Standard in com.x8bit.bitwarden.ui.platform.feature.settings.SettingsGraphRoute
2025-08-19 13:42:59:888 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recordedLogs.RecordedLogsRoute.Standard in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute
2025-08-19 13:43:01:292 – DEBUG – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute
2025-08-19 13:43:01:346 – DEBUG – VaultUnlockedNavBarScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.settings.about.SettingsAboutRoute.Standard in com.x8bit.bitwarden.ui.platform.feature.settings.SettingsGraphRoute

Issue Tracking Info

  • I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions