public void UnlockAccounts() { for (int i = 0; i < _config.UnlockAccounts.Length; i++) { string unlockAccount = _config.UnlockAccounts[i]; if (unlockAccount != _config.BlockAuthorAccount) { try { Address address = new Address(unlockAccount); if (_wallet.UnlockAccount(address, _passwordProvider.GetPassword(address) ?? string.Empty.Secure(), TimeSpan.FromDays(1000))) { if (_logger.IsInfo) { _logger.Info($"Unlocked account: {unlockAccount}"); } } } catch (Exception e) { if (_logger.IsError) { _logger.Error($"Couldn't unlock account {unlockAccount}.", e); } } } } }
private ProtectedPrivateKey LoadKeyForAccount(string account) { if (!string.IsNullOrEmpty(account)) { Address blockAuthor = new Address(Bytes.FromHexString(account)); SecureString password = _passwordProvider.GetPassword(blockAuthor); try { (ProtectedPrivateKey privateKey, Result result) = _keyStore.GetProtectedKey(new Address(account), password); if (result == Result.Success) { return(privateKey); } if (_logger.IsError) { _logger.Error($"Not able to unlock the key for {account}"); } // continue to the other methods } catch (Exception e) { if (_logger.IsError) { _logger.Error($"Not able to unlock the key for {account}", e); } } } return(null); }
public IDatabase LoadDatabase(string path) { using (var stream = _storage.Load(path)) { var database = LoadDatabase(stream, string.Empty); if (database != null) { return(database); } do { var password = _passwordProvider.GetPassword(); database = LoadDatabase(stream, password); if (database != null) { return(database); } }while (_passwordProvider.CanProvideNewPassword()); return(null); } }
public async Task <ISession> RestoreSession() { if (_session == null) { var settings = _settingsLoadService.Load(); var password = _passwordProvider.GetPassword(settings.Username); var client = _clientFactory.GetClient(settings.Version); _session = await Task.Run(() => client.LoginByUsername( settings.MattermostUrl, settings.TeamId, settings.Username, password)); } return(_session); }
public async Task <ISession> RestoreSession() { if (_session == null) { var settings = _settingsLoadService.Load(); var password = _passwordProvider.GetPassword(settings.Username); var client = _clientFactory.GetClient(settings.Version); bool retryLogin; do { try { _session = await Task.Run(() => client.LoginByUsername( settings.MattermostUrl, settings.TeamId, settings.Username, password)); retryLogin = false; } catch (WebException wex) { if (wex.Status == WebExceptionStatus.TrustFailure && _invalidSslQuestion.GetAnswer(settings.MattermostUrl, wex.InnerException.Message)) { retryLogin = true; _serverCertificateValidator.DisableValidation(); } else { throw new UserAbortException(); } } } while (retryLogin); } return(_session); }
public string GetKey() { var password = _passwordProvider.GetPassword(null); return(password.Unsecure()); }
public string GetPassword(PasswordRequestOptions options) { return(_passwordProvider.GetPassword(options)); }