...
Solution: client has to unlock the wallet before calling any wallet interface APIs and lock the wallet back done. Wallet will also auto lock if unused for certain amount of time.
This leads to introduction of 2 more APIs given below:
- unlockOpen wallet: accepts user `secret/token` used to create profile, creates kms instance, keeps it in cache (with expiry) and returns a token which can be used for any subsequent operations.
This token will be used by VC wallet to fetch kms instance from cache and also will be used to correlate user profile. Once token expires cache gets cleared and kms instance will be destroyed.
This token has to be supplied by client while calling each VC wallet APIs. - lockClose wallet: Can be called by user to lock the wallet back.
...