Esempio n. 1
0
        public SettingsResponse GetClientSettings(Client client, Grit.Tree.Node tree)
        {
            var clientNodes = GetNodes(client.Nodes);
            var allNodes    = GetNodes();

            SettingsResponse resp = new SettingsResponse(client.Name);
            var path = new List <Grit.Tree.Node>(5);

            RijndaelManager rsa = new RijndaelManager(KEY, IV);

            foreach (var node in clientNodes)
            {
                if (node.Entries == null || !node.Entries.Any())
                {
                    continue;
                }
                path.Clear();
                tree.FindByData(node.NodeId, path);

                string strPath = string.Join("/",
                                             path.Select(n => allNodes.FirstOrDefault(x => x.NodeId == n.Data)).Select(n => n.Name).Reverse())
                                 + "/";

                resp.Entries.AddRange(node.Entries.Select(n => new SettingsResponse.Entry {
                    Path = strPath + n.Key, Value = rsa.Decrypt(n.Value)
                }));
            }
            return(resp);
        }
Esempio n. 2
0
        public Node GetNode(int nodeId)
        {
            var             node = NodeRepository.GetNode(nodeId);
            RijndaelManager rsa  = new RijndaelManager(KEY, IV);

            node.Entries.ForEach(x => {
                x.Value = rsa.Decrypt(x.Value);
            });
            return(node);
        }
Esempio n. 3
0
        public bool SaveNode(Node node)
        {
            RijndaelManager rsa = new RijndaelManager(KEY, IV);

            node.Entries.ForEach(x => {
                x.NodeId = node.NodeId;
                x.Value  = rsa.Encrypt(x.Value);
            });
            return(NodeRepository.SaveNode(node));
        }
        private static byte[] EncryptMessage(string username, string password, Command command, object message)
        {
            password = MD5Helper.CalculateMD5Hash(password);
            var bytes = MessagePackSerializer.Serialize(message);

            return(MessagePackSerializer.Serialize(new Message
            {
                User = username,
                Command = command,
                Content = RijndaelManager.Encrypt(bytes, password)
            }));
        }
Esempio n. 5
0
        public ActionResult Index()
        {
            string key, iv;

            RijndaelManager.GenerateKeyAndIV(out key, out iv);
            string publicKey, privateKey;

            RSAManager.GenerateKeyAndIV(out publicKey, out privateKey);

            return(View(new SecurityKeyVM {
                Key = key,
                IV = iv,
                PublicKey = publicKey,
                PrivateKey = privateKey
            }));
        }