Example #1
0
        public void Send(string message)
        {
            ChatUser sender       = ChatingUsers.Find(x => x.ChatUserName == Context.User.Identity.Name);
            string   chatRoomName = sender.ChatRoomName;
            string   name         = sender.DisplayUserName;
            ChatUser reciver      = ChatingUsers.Find(x => x.ChatUserName != Context.User.Identity.Name && x.ChatRoomName == chatRoomName);

            if (sender.CurrentDeriveKey != null)
            {
                IM.OTRSend(sender.CurrentDeriveKey, message, out byte[] encryptedMessage);
                byte[] signature = MAC.Sign(sender.KeyForSigning, message);
                Clients.User(reciver.ChatUserName).reciveMessage(name, encryptedMessage, signature, chatRoomName);
            }
        }