private void ValidateSessionsAsync() { ThreadPool.QueueUserWorkItem(async(object o) => { ITerminalServicesManager manager = new TerminalServicesManager(); using (ITerminalServer server = manager.GetLocalServer()) { server.Open(); var localSessions = server.GetSessions().Where(s => s.SessionId > 0 && (s.ConnectionState == Cassia.ConnectionState.Active)); var messages = await _msgReader.GetAllMessages(); if (messages.Count(m => m.Command.Type == WinGuard.Domain.Enumaretions.ClientCommandType.LOGOUT) > 0 && localSessions.Any(s => messages.Any(m => m.Command.ClientIdentifier == s.SessionId.ToString()))) { foreach (var session in localSessions.Where(s => messages.Any(m => m.Command.ClientIdentifier == s.SessionId.ToString()))) { session.Logoff(); } return; } foreach (ITerminalServicesSession session in localSessions) { await _authService.Login(_encryptService.EncryptMessage(session.SessionId.ToString()), _encryptService.EncryptMessage(session.UserName)); } } }); }
public void TestEcryptDecrypt() { var example = "Hello World"; var encrypted = service.EncryptMessage(example); var decrypted = service.DecryptMessage(encrypted); Assert.Equal(example, decrypted); }
public async Task SendSms(string messageText) { try { // Need to Encrypt the message using recipients Public Key and pass the result to Sms var encryptedMessage = await encryptionService.EncryptMessage(messageText, _selectedContact.PublicKey); var message = new SmsMessage { Body = encryptedMessage.ToString() }; await Sms.ComposeAsync(message); } catch (FeatureNotSupportedException) { // TODO: Sms is not supported on this device. Display Error } catch (Exception) { // TODO: Other error has occurred. Display Error } }