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.
Keystores will all be persisted to disk in a structure called the 'Enclave', which makes sure keystores are all encrypted using the same master password.
This enclave format is abstracted away from the user, and the only implication is that the keystore service needs to be updated to include a proper 'Initialize' function, for when the enclave does not yet exist.
A custom key is used for the encryption of any keystore before finally encrypting a structure with all the keystores with the master password.
This will enable per-keystore sharing with other devices/users, without requiring a master password re-prompt or providing the ability to have multiple master passwords (no use of it anyway).
The only shared secret between users will be the actual keystore encryption key.
Onboarding detection is broken, some custom errors need to be reported when accessing all the keystores without being authenticated, which will indicate that the enclave is not yet initialized. This will be addressed in a separate PR.