Exemple #1
0
        private static void DecryptYamlValue(JsonPasswordCrypto cryptoHandler, YamlEncryptedNode encryptedNode)
        {
            var decryptedValue = cryptoHandler.Decrypt(encryptedNode.EncryptedValue);

            encryptedNode.Parent.Children.Remove(encryptedNode.Container);
            encryptedNode.Parent.Add(encryptedNode.Container.Key, decryptedValue);
        }
        private static void FindEncryptedNodes(YamlMappingNode parent, KeyValuePair<YamlNode, YamlNode> container, List<YamlEncryptedNode> matches)
        {
            var node = container.Value;
            if (node is YamlMappingNode)
            {
                var nodes = ((YamlMappingNode) node).Children.ToList();

                if (nodes.Count == 2 &&
                    nodes[0].Key.ToString().Equals("IV", StringComparison.InvariantCultureIgnoreCase) &&
                    nodes[1].Key.ToString().Equals("Value", StringComparison.InvariantCultureIgnoreCase))
                {
                    var encryptedNode = new YamlEncryptedNode {Container = container, Parent = parent};
                    matches.Add(encryptedNode);
                }
            }

            if (node is YamlMappingNode)
            {
                foreach (var childNode in ((YamlMappingNode)node).Children)
                {
                    FindEncryptedNodes((YamlMappingNode) node, childNode, matches);
                }
            }

            if (node is YamlSequenceNode)
            {
                var sequenceNodes = ((YamlSequenceNode) node).Children;
                foreach (var child in sequenceNodes.OfType<YamlMappingNode>())
                {
                    child.Children.ToList().ForEach(x => FindEncryptedNodes(child, x, matches));
                }
            }
        }
Exemple #3
0
        private static void FindEncryptedNodes(YamlMappingNode parent, KeyValuePair <YamlNode, YamlNode> container,
                                               List <YamlEncryptedNode> matches)
        {
            var node = container.Value;

            if (node is YamlMappingNode)
            {
                var nodes = ((YamlMappingNode)node).Children.ToList();

                if (nodes.Count == 2 &&
                    nodes[0].Key.ToString().Equals("IV", StringComparison.InvariantCultureIgnoreCase) &&
                    nodes[1].Key.ToString().Equals("Value", StringComparison.InvariantCultureIgnoreCase))
                {
                    var encryptedNode = new YamlEncryptedNode {
                        Container = container, Parent = parent
                    };
                    matches.Add(encryptedNode);
                }
            }

            if (node is YamlMappingNode)
            {
                foreach (var childNode in ((YamlMappingNode)node).Children)
                {
                    FindEncryptedNodes((YamlMappingNode)node, childNode, matches);
                }
            }

            if (node is YamlSequenceNode)
            {
                var sequenceNodes = ((YamlSequenceNode)node).Children;
                foreach (var child in sequenceNodes.OfType <YamlMappingNode>())
                {
                    child.Children.ToList().ForEach(x => FindEncryptedNodes(child, x, matches));
                }
            }
        }
 private static void DecryptYamlValue(JsonPasswordCrypto cryptoHandler, YamlEncryptedNode encryptedNode)
 {
     var decryptedValue = cryptoHandler.Decrypt(encryptedNode.EncryptedValue);
     encryptedNode.Parent.Children.Remove(encryptedNode.Container);
     encryptedNode.Parent.Add(encryptedNode.Container.Key, decryptedValue);
 }