Ejemplo n.º 1
0
        /// <summary>
        /// Import ListView entries from encrypted XML-Files
        /// </summary>
        /// <param name="listView"></param>
        /// <param name="openFileDialog"></param>
        public static void ImportEncryptedFromXml(ListView listView, OpenFileDialog openFileDialog)
        {
            XDocument xDoc = XDocument.Load(openFileDialog.FileName);

            if (!File.Exists(DialogManager.GetKeyFilePath()))
            {
                return;
            }

            StreamReader reader         = new StreamReader(DialogManager.GetKeyFilePath());
            string       sEncryptionKey = reader.ReadLine();

            reader.Close();

            foreach (var item in xDoc.Descendants("pwentry"))
            {
                ListViewItem lvItem = new ListViewItem(new string[]
                {
                    Cryptography.AES_Decrypt(item.Element("title")?.Value, sEncryptionKey),
                    Cryptography.AES_Decrypt(item.Element("username")?.Value, sEncryptionKey),
                    Cryptography.AES_Decrypt(item.Element("password")?.Value, sEncryptionKey),
                    Cryptography.AES_Decrypt(item.Element("url")?.Value, sEncryptionKey),
                    Cryptography.AES_Decrypt(item.Element("notes")?.Value, sEncryptionKey)
                });
                listView.Items.Add(lvItem);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Export ListView entries into encrypted XML-Files for saveDialog
        /// </summary>
        /// <param name="listView"></param>
        /// <param name="saveFileDialog"></param>
        public static void ExportEncryptedToXml(ListView listView, SaveFileDialog saveFileDialog)
        {
            string sEncryptionKey = null;

            XmlWriterSettings xmlSettings = new XmlWriterSettings
            {
                Indent = true,
                NewLineOnAttributes = true,
                CloseOutput         = true
            };

            if (File.Exists(DialogManager.GetKeyFilePath()))
            {
                StreamReader reader = new StreamReader(DialogManager.GetKeyFilePath());
                sEncryptionKey = reader.ReadLine();
                reader.Close();
            }
            if (File.Exists(DialogManager.GetKeyFilePathSave()))
            {
                StreamReader reader = new StreamReader(DialogManager.GetKeyFilePathSave());
                sEncryptionKey = reader.ReadLine();
                reader.Close();
            }
            XmlWriter xmlWriter = XmlWriter.Create(saveFileDialog.FileName, xmlSettings);

            xmlWriter.WriteStartElement("pwlist");

            for (int index = 0; index < listView.Items.Count; index++)
            {
                xmlWriter.WriteStartElement("pwentry");

                xmlWriter.WriteStartElement("title");
                xmlWriter.WriteString(Cryptography.AES_Encrypt(listView.Items[index].SubItems[0].Text, sEncryptionKey));
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("username");
                xmlWriter.WriteString(Cryptography.AES_Encrypt(listView.Items[index].SubItems[1].Text, sEncryptionKey));
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("password");
                xmlWriter.WriteString(Cryptography.AES_Encrypt(listView.Items[index].SubItems[2].Text, sEncryptionKey));
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("url");
                xmlWriter.WriteString(Cryptography.AES_Encrypt(listView.Items[index].SubItems[3].Text, sEncryptionKey));
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("notes");
                xmlWriter.WriteString(Cryptography.AES_Encrypt(listView.Items[index].SubItems[4].Text, sEncryptionKey));
                xmlWriter.WriteEndElement();

                xmlWriter.WriteEndElement();
            }

            xmlWriter.WriteEndElement();
            xmlWriter.Close();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Save MainWindow settings XML-File
        /// </summary>
        /// <param name="Window"></param>
        /// <param name="sFilename"></param>
        public static void SaveConfigXml(Form Window, string sFilename)
        {
            XmlWriterSettings xmlSettings = new XmlWriterSettings
            {
                Indent = true,
                NewLineOnAttributes = true
            };

            XmlWriter xmlWriter = XmlWriter.Create(sFilename, xmlSettings);

            xmlWriter.WriteStartElement("mainWindow");

            xmlWriter.WriteStartElement("settings");

            xmlWriter.WriteStartElement("width");
            xmlWriter.WriteString(Window.Width.ToString());
            xmlWriter.WriteEndElement();

            xmlWriter.WriteStartElement("height");
            xmlWriter.WriteString(Window.Height.ToString());
            xmlWriter.WriteEndElement();

            xmlWriter.WriteStartElement("left");
            xmlWriter.WriteString(Window.Location.X.ToString());
            xmlWriter.WriteEndElement();

            xmlWriter.WriteStartElement("top");
            xmlWriter.WriteString(Window.Location.Y.ToString());
            xmlWriter.WriteEndElement();

            if (File.Exists(DialogManager.GetKeyFilePath()))
            {
                xmlWriter.WriteStartElement("recentKeyPath");
                xmlWriter.WriteString(DialogManager.GetKeyFilePath());
                xmlWriter.WriteEndElement();
            }
            if (File.Exists(DialogManager.GetKeyFilePathSave()))
            {
                xmlWriter.WriteStartElement("recentKeyPath");
                xmlWriter.WriteString(DialogManager.GetKeyFilePathSave());
                xmlWriter.WriteEndElement();
            }

            xmlWriter.WriteEndElement();

            xmlWriter.WriteEndElement();
            xmlWriter.Close();
        }