From d9be1b0682d0c485510ef61d1aef1b1468e87dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20V=C3=A4nttinen?= Date: Mon, 9 Mar 2026 18:44:10 +0200 Subject: [PATCH] Passkeys: Fix default BE and BS flag value (#13122) --- src/browser/BrowserService.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/browser/BrowserService.cpp b/src/browser/BrowserService.cpp index 64547b0ae..f5da1df66 100644 --- a/src/browser/BrowserService.cpp +++ b/src/browser/BrowserService.cpp @@ -776,12 +776,16 @@ QJsonObject BrowserService::showPasskeysAuthenticationPrompt(const QJsonObject& const auto userHandle = selectedEntry->attributes()->value(EntryAttributes::KPEX_PASSKEY_USER_HANDLE); // Get BE and BS flags if present - const auto beFlag = selectedEntry->attributes()->hasKey(EntryAttributes::KPEX_PASSKEY_FLAG_BE) - ? selectedEntry->attributes()->value(EntryAttributes::KPEX_PASSKEY_FLAG_BE) == TRUE_STR - : DEFAULT_BE_FLAG; - const auto bsFlag = selectedEntry->attributes()->hasKey(EntryAttributes::KPEX_PASSKEY_FLAG_BS) - ? selectedEntry->attributes()->value(EntryAttributes::KPEX_PASSKEY_FLAG_BS) == TRUE_STR - : DEFAULT_BS_FLAG; + const auto beFlag = + selectedEntry->attributes()->hasKey(EntryAttributes::KPEX_PASSKEY_FLAG_BE) + ? selectedEntry->attributes()->value(EntryAttributes::KPEX_PASSKEY_FLAG_BE) == "1" + || selectedEntry->attributes()->value(EntryAttributes::KPEX_PASSKEY_FLAG_BE) == TRUE_STR + : DEFAULT_BE_FLAG; + const auto bsFlag = + selectedEntry->attributes()->hasKey(EntryAttributes::KPEX_PASSKEY_FLAG_BS) + ? selectedEntry->attributes()->value(EntryAttributes::KPEX_PASSKEY_FLAG_BS) == "1" + || selectedEntry->attributes()->value(EntryAttributes::KPEX_PASSKEY_FLAG_BS) == TRUE_STR + : DEFAULT_BS_FLAG; auto publicKeyCredential = browserPasskeys()->buildGetPublicKeyCredential( assertionOptions, credentialId, userHandle, privateKeyPem, beFlag, bsFlag); @@ -864,8 +868,8 @@ void BrowserService::addPasskeyToEntry(Entry* entry, entry->attributes()->set(EntryAttributes::KPEX_PASSKEY_PRIVATE_KEY_PEM, privateKey, true); entry->attributes()->set(EntryAttributes::KPEX_PASSKEY_RELYING_PARTY, rpId); entry->attributes()->set(EntryAttributes::KPEX_PASSKEY_USER_HANDLE, userHandle, true); - entry->attributes()->set(EntryAttributes::KPEX_PASSKEY_FLAG_BE, TRUE_STR); - entry->attributes()->set(EntryAttributes::KPEX_PASSKEY_FLAG_BS, TRUE_STR); + entry->attributes()->set(EntryAttributes::KPEX_PASSKEY_FLAG_BE, "1"); + entry->attributes()->set(EntryAttributes::KPEX_PASSKEY_FLAG_BS, "1"); entry->addTag(tr("Passkey")); entry->endUpdate();