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