Add support for adding and deleting PRF passkeys #57
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously when adding or deleting passkeys, these passkeys were not added/deleted as PRF encryption keys to the wallet. These fixes that. 🙂
As a consequence, the passkey management controls now need to be "unlocked" with one of the passkeys before any passkeys can be added or deleted. This is because when adding a passkey, we need to unwrap the main encryption key in order to re-wrap it with the new PRF key. The main encryption key is not kept unwrapped in the session, instead a pair of "session keys" are used to decrypt the wallet for the duration of the session. Therefore we need to perform a PRF authentication ceremony to get an existing PRF key before we can add any more PRF keys.