Esempio n. 1
0
        public async Task <IKeePassDatabase> UnlockAsync(KeePassId id, ICredentialProvider credentialProvider)
        {
            Log.Info("Unlock {Database}", id);

            var dbFile = await _fileAccess.GetDatabaseAsync(id);

            Debug.Assert(dbFile != null);

            var credentials = await credentialProvider.GetCredentialsAsync(dbFile);

            if (credentials.Equals(default(KeePassCredentials)))
            {
                Log.Warning("Failed to retrieve credentials for {Database}", id);
                return(null);
            }

            Log.Info("Successfully retrieved credentials for {Database}", id);

            return(await UnlockAsync(dbFile, credentials));
        }