Winify – Diff between revs 8 and 14
?pathlinks?
Rev 8 | Rev 14 | |||
---|---|---|---|---|
Line 4... | Line 4... | |||
4 | using System.Text; |
4 | using System.Text; |
|
5 | using System.Threading.Tasks; |
5 | using System.Threading.Tasks; |
|
6 | using System.Xml; |
6 | using System.Xml; |
|
7 | using System.Xml.Schema; |
7 | using System.Xml.Schema; |
|
8 | using System.Xml.Serialization; |
8 | using System.Xml.Serialization; |
|
- | 9 | using Servers; |
||
- | 10 | using Winify.Utilities; |
||
Line 9... | Line 11... | |||
9 | |
11 | |
|
10 | namespace Winify.Servers.Serialization |
12 | namespace Winify.Servers.Serialization |
|
11 | { |
13 | { |
|
12 | public static class ServersSerialization |
14 | public static class ServersSerialization |
|
Line 85... | Line 87... | |||
85 | { |
87 | { |
|
86 | settings.ValidationEventHandler -= |
88 | settings.ValidationEventHandler -= |
|
87 | XmlReaderSettingsValidationEventHandler; |
89 | XmlReaderSettingsValidationEventHandler; |
|
88 | } |
90 | } |
|
Line -... | Line 91... | |||
- | 91 | |
||
- | 92 | // Decrypt password. |
||
- | 93 | var deviceId = Miscellaneous.GetMachineGuid(); |
||
- | 94 | var protectedServers = new global::Servers.Servers |
||
- | 95 | { |
||
- | 96 | Server = new BindingListWithCollectionChanged<Server>() |
||
- | 97 | }; |
||
- | 98 | foreach (var server in servers.Server) |
||
- | 99 | { |
||
- | 100 | var unarmored = Convert.FromBase64String(server.Password); |
||
- | 101 | var decrypted = Encoding.UTF8.GetString(AES.Decrypt(unarmored, deviceId)); |
||
- | 102 | |
||
- | 103 | protectedServers.Server.Add(new Server(server.Name, server.Url, server.Username, decrypted)); |
||
- | 104 | } |
||
89 | |
105 | |
|
90 | return new ServersSerializationSuccess(servers, validationEventArgs); |
106 | return new ServersSerializationSuccess(protectedServers, validationEventArgs); |
|
Line 91... | Line 107... | |||
91 | } |
107 | } |
|
92 | |
108 | |
|
93 | public static async Task<ServersSerializationState> Serialize(global::Servers.Servers servers, string file) |
109 | public static async Task<ServersSerializationState> Serialize(global::Servers.Servers servers, string file) |
|
Line 109... | Line 125... | |||
109 | await xmlWriter.WriteDocTypeAsync("Servers", |
125 | await xmlWriter.WriteDocTypeAsync("Servers", |
|
110 | null, |
126 | null, |
|
111 | null, |
127 | null, |
|
112 | "<!ATTLIST Servers xmlns:xsi CDATA #IMPLIED xsi:noNamespaceSchemaLocation CDATA #IMPLIED>"); |
128 | "<!ATTLIST Servers xmlns:xsi CDATA #IMPLIED xsi:noNamespaceSchemaLocation CDATA #IMPLIED>"); |
|
Line -... | Line 129... | |||
- | 129 | |
||
- | 130 | // Encrypt password for all servers. |
||
- | 131 | var deviceId = Miscellaneous.GetMachineGuid(); |
||
- | 132 | var protectedServers = new global::Servers.Servers |
||
- | 133 | { |
||
- | 134 | Server = new BindingListWithCollectionChanged<Server>() |
||
- | 135 | }; |
||
- | 136 | foreach (var server in servers.Server) |
||
- | 137 | { |
||
- | 138 | var encrypted = AES.Encrypt(Encoding.UTF8.GetBytes(server.Password), deviceId); |
||
- | 139 | var armored = Convert.ToBase64String(encrypted); |
||
- | 140 | |
||
- | 141 | protectedServers.Server.Add(new Server(server.Name, server.Url, server.Username, armored)); |
||
- | 142 | } |
||
113 | |
143 | |
|
Line 114... | Line 144... | |||
114 | XmlSerializer.Serialize(xmlWriter, servers); |
144 | XmlSerializer.Serialize(xmlWriter, protectedServers); |
|
115 | |
145 | |
|
116 | using (var fileStream = |
146 | using (var fileStream = |
|
117 | new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) |
147 | new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) |
|
Line 151... | Line 181... | |||
151 | await xmlWriter.WriteDocTypeAsync("Servers", |
181 | await xmlWriter.WriteDocTypeAsync("Servers", |
|
152 | null, |
182 | null, |
|
153 | null, |
183 | null, |
|
154 | "<!ATTLIST Servers xmlns:xsi CDATA #IMPLIED xsi:noNamespaceSchemaLocation CDATA #IMPLIED>"); |
184 | "<!ATTLIST Servers xmlns:xsi CDATA #IMPLIED xsi:noNamespaceSchemaLocation CDATA #IMPLIED>"); |
|
Line -... | Line 185... | |||
- | 185 | |
||
- | 186 | // Encrypt password for all servers. |
||
- | 187 | var deviceId = Miscellaneous.GetMachineGuid(); |
||
- | 188 | var protectedServers = new global::Servers.Servers |
||
- | 189 | { |
||
- | 190 | Server = new BindingListWithCollectionChanged<Server>() |
||
- | 191 | }; |
||
- | 192 | foreach (var server in servers.Server) |
||
- | 193 | { |
||
- | 194 | var encrypted = AES.Encrypt(Encoding.UTF8.GetBytes(server.Password), deviceId); |
||
- | 195 | var armored = Convert.ToBase64String(encrypted); |
||
- | 196 | |
||
- | 197 | protectedServers.Server.Add(new Server(server.Name, server.Url, server.Username, armored)); |
||
- | 198 | } |
||
155 | |
199 | |
|
Line 156... | Line 200... | |||
156 | XmlSerializer.Serialize(xmlWriter, servers); |
200 | XmlSerializer.Serialize(xmlWriter, protectedServers); |
|
Line 157... | Line 201... | |||
157 | |
201 | |
|
158 | memoryStream.Position = 0L; |
202 | memoryStream.Position = 0L; |