2004-02-20 Carlos Guzm��n ��lvarez <carlosga@telefonica.net>
[mono.git] / mcs / class / Mono.Security / Mono.Security.Protocol.Tls / ChangeLog
1 2004-02-20 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
2
3         * Mono.Security.Protocol.Tls.Handshake.Client/SslClientCertificate.cs:
4
5         - Improved exception handling.
6
7 2004-02-18 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
8 \r
9         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:\r
10         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:\r
11         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:\r
12 \r
13                 - Added Serializable attribute.\r
14 \r
15         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
16         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:\r
17         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
18         * Mono.Security.Protocol.Tls/TlsContext.cs:\r
19 \r
20                 - Added some optimizations proposed by Sebastien Pouliot.\r
21 \r
22         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:\r
23 \r
24                 - Changes on Common Name detection and certificate error handling ( Thanks to Sebastien Pouliot for his feedback ).\r
25
26 2004-02-18  Sebastien Pouliot  <sebastien@ximian.com>
27
28         * SslClientStream.cs: Fixed (inverted) condition for ServerCertificate.
29         * SecurityProtocolType.cs: Added [Serializable] to enum to match MS 
30         implementation.
31
32 2004-02-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
33
34         * Mono.Security.Protocol.Tls/SslClientStream.cs:
35
36                 - Added changes to security properties for check that the handshake is finished.
37
38         * Mono.Security.Protocol.Tls/SslClientStream.cs:
39
40         - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
41
42         - Reworked the record fragmentation.
43
44         - Fix for send the close notify alert in the Close method
45         only if the Handshake is fully negotiated.
46
47
48 2004-02-16 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
49
50         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
51
52         - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
53
54 2004-02-15 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
55  
56         * Mono.Security.Protocol.Tls/SslClientStream.cs:
57  
58                 - Added specific control od available data for Network Streams
59                 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
60  
61                 - Removed test code.
62
63 2004-02-14 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
64
65     * Mono.Security.Protocol.Tls/SslClientStream.cs:
66
67         - Removed test code.
68
69 2003-11-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
70 \r
71         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
72 \r
73                 Removed ReadByte method, use innerStream.ReadByte() method instead.\r
74 \r
75 2003-11-13 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
76 \r
77         * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.\r
78 \r
79                 The next files are no more needed:\r
80 \r
81                         - TlsSession.cs\r
82 \r
83                         - TlsNetworkStream.cs\r
84 \r
85                         - TlsSocket.cs\r
86 \r
87                         - TlsSessionState.cs\r
88 \r
89                 The next files are renamed:\r
90 \r
91                         - TlsSessionSettings.cs -> TlsClientSettings.cs\r
92 \r
93                         - TlsSessionContext.cs -> TlsContext.cs\r
94 \r
95                 The next files are new:\r
96 \r
97                         - SslClientStream.cs ( the name is non definitive yet )\r
98 \r
99                 The next files where changed to reflect the new canges:\r
100 \r
101                         - TlsHandshakeMessage.cs\r
102 \r
103                         - TlsClientCertificate.cs\r
104 \r
105                         - TlsClientCertificateVerify.cs\r
106 \r
107                         - TlsClientFinished.cs\r
108 \r
109                         - TlsClientHello.cs\r
110 \r
111                         - TlsClientKeyExchange.cs\r
112 \r
113                         - TlsServerCertificate.cs\r
114 \r
115                         - TlsServerCertificateRequest.cs\r
116 \r
117                         - TlsServerFinished.cs\r
118 \r
119                         - TlsServerHello.cs\r
120 \r
121                         - TlsServerHelloDone.cs\r
122 \r
123                         - TlsServerKeyExchange.cs\r
124 \r
125                         - TlsAlert.cs\r
126 \r
127                         - TlsCloseNotifyAlert.cs\r
128 \r
129                 \r
130 2003-11-12 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
131 \r
132         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:\r
133         \r
134                 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )\r
135                 \r
136         * Mono.Security.Protocol.Tls/TlsProtocol.cs:\r
137         \r
138                 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )\r
139         \r
140         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:\r
141         \r
142                 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )\r
143                 \r
144         * Mono.Security.Cryptography/TlsCompressionMethod.cs:\r
145         \r
146                 - Renamed to SecurityCompressionType.\r
147                 \r
148         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:\r
149         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:\r
150         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:\r
151         \r
152                 - New enumerations that matches .NET 1.2 definitions with some minor differences.\r
153         \r
154         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
155         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:\r
156         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
157         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:\r
158         \r
159                 - Added changes for make use of new enumerations.\r
160         \r
161         * Mono.Security.Protocol.Tls/TlsClientStream.cs:\r
162         \r
163                 - Added new informative properties that matches .NET 1.2 SslClientStream\r
164                 ( Not all the properties are implemented yet ).\r
165 \r
166 \r
167 2003-11-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
168 \r
169         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:\r
170 \r
171                 - Fixed invalid alert message.\r
172 \r
173         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
174         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
175         * Mono.Security.Cryptography/HMAC.cs:\r
176         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:\r
177         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
178 \r
179                 - Changed ( Thanks to Sebastién Pouliot for his feedback )\r
180 \r
181                         SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();\r
182                         MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();\r
183 \r
184                         to\r
185 \r
186                         HashAlgorithm sha = SHA1.Create();\r
187                         HashAlgorithm md5 = MD5.Create(); \r
188
189 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
190 \r
191         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
192 \r
193                 - Added custom padding for record encryption.\r
194 \r
195 \r
196 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
197 \r
198         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:\r
199         \r
200                 - Removed file.\r
201 \r
202         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:\r
203         \r
204                 - New class for handshake hashes calculation on SSL3 protocol.\r
205 \r
206         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:\r
207         \r
208                 - Fixed mac keys clearing for SSL3 protocol.\r
209 \r
210         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
211         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:\r
212         \r
213                 - Added changes for make use of new TlsSslHandshakeHash class.\r
214         \r
215         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:\r
216         \r
217                 - Added initial implementation for SSL3 protocol.\r
218         \r
219         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:\r
220         \r
221                 - New class for md5-sha hash calculation.\r
222                                                         \r
223         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:\r
224         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:\r
225         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:\r
226         * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:\r
227         \r
228                 - Make use of new MD5SHA1CryptoServiceProvider class.\r
229                 \r
230         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
231         \r
232                 - Added initial implementation (not finished).\r
233                         \r
234         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:\r
235         \r
236                 - Minor change to message processing.\r
237 \r
238                 - Changed verify method name to verifySignature.\r
239                         \r
240         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:\r
241         \r
242                 - Changed handshakeHashes member to be an TlsStream.\r
243 \r
244 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
245 \r
246         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
247         * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:\r
248         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:\r
249         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
250         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:\r
251         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:\r
252         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:\r
253 \r
254                 - Added changes for make use of X509 classes from mono.\r
255 \r
256 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
257 \r
258         * Added partial implementation of SSL3 protocol ( not finished yet ).\r
259 \r
260         * TlsAbstractCipherSuite.cs: Renamed to CipherSuite.cs.\r
261 \r
262         * Removed AssemblyInfo.cs file.\r
263 \r
264 2003-10-21 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
265 \r
266         TlsCipherSuiteFactory.cs: Changed names of private methods.\r
267 \r
268         TlsSslCipherSuite.cs: Replaced implementations of key generation methods with a throw new NotSupportedException().\r
269 \r
270 \r
271 2003-10-20  Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
272 \r
273         TlsCupherSuite.cs: Fixed padding length calculation on record encryption.\r
274         \r
275         TlsSessionContext.cs:   Added new CompressionMethod property.\r
276                                         Added new MAX_FRAGMENT_SIZE constant.\r
277 \r
278         TlsSession.cs: Removed MaxFragmentSize property.\r
279 \r
280         TlsSocket.cs: Replaced use of TlsSesison.MaxFragmentSize by TlsSessionContext.MAX_FAGMENT_SIZE\r
281         \r
282         TlsSessionSettings.cs: Added new CompressionMethod property.\r
283 \r
284         * Abstracted CipherSuite classes for allow work with other protocol versions.\r
285 \r
286         * Added new files :\r
287 \r
288                 TlsAbstractCipherSuite.cs \r
289                         \r
290                 TlsSslCipherSuite.cs\r
291 \r
292                 TlsCipherSuiteFactory.cs\r
293 \r
294                 TlsCompressionMethod.cs\r
295 \r
296         * Added new cipher suites definitions based on RFC3268 - (http://www.ietf.org/rfc/rfc3268.txt)\r
297 \r
298         * Added two new supported ciphersuites for TLS protocol:\r
299 \r
300                 TLS_RSA_WITH_AES_256_CBC_SHA\r
301 \r
302                 TLS_RSA_WITH_AES_128_CBC_SHA\r
303 \r
304         * Moved key generation stuff to specific cipher suite classes.\r
305 \r
306 2003-10-20  Pedro Martínez Juliá  <yoros@wanadoo.es>\r
307 \r
308         * AssemblyInfo.cs: commented out KeyFile reference.\r
309 \r
310         * TlsSession.cs: changed Math.Pow for System.Math.Pow because of MCS\r
311         bug with namespace resolving.\r
312 \r