diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt index 6e2e063f5..c4236b795 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -942,7 +942,6 @@ class GroupActivity : DatabaseLockActivity(), passkeySelectionAction = { searchInfo -> if (!database.isReadOnly && searchInfo != null - // TODO Passkey setting && PreferencesUtil.isAutofillSaveSearchInfoEnable(this@GroupActivity) ) { updateEntryWithSearchInfo(database, entryVersioned, searchInfo) } diff --git a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/passkey/util/PasskeyHelper.kt b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/passkey/util/PasskeyHelper.kt index fa72c0f57..943469843 100644 --- a/app/src/main/java/com/kunzisoft/keepass/credentialprovider/passkey/util/PasskeyHelper.kt +++ b/app/src/main/java/com/kunzisoft/keepass/credentialprovider/passkey/util/PasskeyHelper.kt @@ -28,6 +28,7 @@ import android.os.ParcelUuid import android.security.keystore.KeyGenParameterSpec import android.security.keystore.KeyProperties import android.util.Log +import android.widget.Toast import androidx.annotation.RequiresApi import androidx.credentials.CreatePublicKeyCredentialRequest import androidx.credentials.CreatePublicKeyCredentialResponse @@ -42,6 +43,7 @@ import androidx.credentials.provider.ProviderGetCredentialRequest import com.kunzisoft.encrypt.Base64Helper.Companion.b64Encode import com.kunzisoft.encrypt.Signature import com.kunzisoft.encrypt.Signature.getApplicationFingerprints +import com.kunzisoft.keepass.R import com.kunzisoft.keepass.credentialprovider.passkey.data.AuthenticatorAssertionResponse import com.kunzisoft.keepass.credentialprovider.passkey.data.AuthenticatorAttestationResponse import com.kunzisoft.keepass.credentialprovider.passkey.data.Cbor @@ -64,6 +66,7 @@ import com.kunzisoft.keepass.utils.StringUtil.toHexString import com.kunzisoft.keepass.utils.getParcelableExtraCompat import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import java.io.IOException import java.security.KeyStore import java.security.MessageDigest import java.security.SecureRandom @@ -125,11 +128,15 @@ object PasskeyHelper { } setResult(Activity.RESULT_OK, mReplyIntent) } ?: run { - Log.w(javaClass.name, "Failed Passkey manual selection") - setResult(Activity.RESULT_CANCELED) + throw IOException("No passkey found") } } catch (e: Exception) { - Log.e(javaClass.name, "Cant add passkey entry as result", e) + Log.e(javaClass.name, "Unable to add the passkey as result", e) + Toast.makeText( + this, + getString(R.string.error_passkey_result), + Toast.LENGTH_SHORT + ).show() setResult(Activity.RESULT_CANCELED) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5a1fd48e8..5cec67273 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -762,4 +762,5 @@ Passkey Credential Id Passkey User Handle Passkey Relying Party + Unable to return the passkey \ No newline at end of file