(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / Mono.Security / Mono.Security.Protocol.Tls / ChangeLog
blobbfafd8d7a6d0e8bc0ef087a1a5fc9f540b319008
1 2004-10-05  Sebastien Pouliot  <sebastien@ximian.com>
3         * SslClientStream.cs: Changed InputBuffer to internal (was protected).
5 2004-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7         * HttpsClientStream.cs: the .ctor receives a pre-read buffer now.
8         * SslClientStream.cs: added InputBuffer property.
10 2004-09-23  Sebastien Pouliot  <sebastien@ximian.com>
12         * RecordProtocol.cs: Fix alert data that could leak into appplication 
13         data (e.g. when closing the SSL session).
15 2004-07-14  Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
17         * Removed duplicate license header file from\r
18         all source files.\r
20 2004-07-14  Sebastien Pouliot  <sebastien@ximian.com>\r
22         * SslClientStream.cs: Changed lock to "new object()" and not \r
23         String.Empty (as the read/write locks points becomes the same).\r
24         * SslServerStream.cs: Changed lock to "new object()" and not \r
25         String.Empty (as the read/write locks points becomes the same).\r
27 2004-07-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
29         * HttpsClientStream.cs: get an HttpWebRequest so that we can use the\r
30         ServicePoint it has. No need to get the host now.\r
32 2004-05-09 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
34         * Mono.Security.Protocol.Tls/Alert.cs:\r
35         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
36         * Mono.Security.Protocol.Tls/CipherSuiteCollection.cs:\r
37         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:\r
38         * Mono.Security.Protocol.Tls/Context.cs:\r
39         * Mono.Security.Protocol.Tls/RecordProtocol.cs:\r
40         * Mono.Security.Protocol.Tls/SecurityCompressionType.cs:\r
41         * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:\r
42         * Mono.Security.Protocol.Tls/SslServerStream.cs:\r
43         * Mono.Security.Protocol.Tls/TlsClientSettings.cs:\r
45                 - Changes for fix FxCop Rules.\r
47                 - Reworked CipherSuiteCollection class.\r
50 2004-04-21 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
52         * Mono.Security.Protocol.Tls/DebugHelper.cs:\r
54                 - New class.\r
56         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:\r
57         * Mono.Security.Protocol.Tls/RecordProtocol.cs:\r
58         * Mono.Security.Protocol.Tls/Context.cs:\r
59         * Mono.Security.Protocol.Tls/Context.cs:\r
60         * Mono.Security.Protocol.Tls/SslCipherSuite.cs:\r
61         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:\r
62         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
64                 - Added debug capabilities.\r
66         * Mono.Security.Protocol.Tls/ServerContext.cs:\r
68                 - Added initialization of requested CertificateTypes and CA's\r
70 2004-04-16 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
72         * Mono.Security.Protocol.Tls/TlsException.cs:\r
74                 - Make it public until npgsql people can fix their sources.\r
76 2004-03-19 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
78         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:\r
80                 - Added new CertificateRSA property.\r
82                 - Added new UpdateCertfificateRSA method.\r
84         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
86                 - Removed CertificateRSA() method.      \r
88 2004-03-19  Sebastien Pouliot  <sebastien@ximian.com>\r
90         * CipherSuite.cs: Fixed PRF generation when secret is an odd number of \r
91         bytes (section 5 in RFC2246).\r
92         * CipherSuiteFactory.cs: Added algorithms RSA_EXPORT_WITH_RC4_40_MD5,\r
93         RSA_EXPORT_WITH_RC2_CBC_40_MD5, RSA_EXPORT_WITH_DES40_CBC_SHA,\r
94         RSA_EXPORT_WITH_RC4_56_MD5, RSA_EXPORT_WITH_RC2_CBC_56_MD5,\r
95         RSA_EXPORT_WITH_DES_CBC_56_SHA and RSA_EXPORT_WITH_RC4_56_SHA to both\r
96         SSL3 and TLS1 protocols.\r
97         * SslCipherSuite.cs: Fixed key generation for exportable ciphers.\r
98         * TlsCipherSuite.cs: Fixed key generation for exportable ciphers.\r
100 2004-03-16 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
102         * Mono.Security.Protocol.Tls/SslCipherSuite.cs:\r
104                 - Added changes for allow it to work as server or client.\r
106 2004-03-15 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
108         * Mono.Security.Protocol.Tls/TlsStream.cs:\r
109         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
110         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:\r
111         * Mono.Security.Protocol.Tls/SslHandshakeHash.cs:\r
112         * Mono.Security.Protocol.Tls/RecordProtocol.cs:\r
114                 - Use Buffer.BlockCopy instead of System.Array.Copy\r
116 2004-03-10 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
118         * Mono.Security.Protocol.Tls/Ciphersuite.cs:\r
120                 - Added generation of the Server encryption algorithms.\r
122                 - Modified encryption/decription methods for work\r
123                 as client or server as needed.\r
125         * Mono.Security.Protocol.Tls/RecordProtocol.cs:\r
126         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:\r
127         * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:\r
129                 - Added new ProcessChangeCipherSpec method.\r
131         * Mono.Security.Protocol.Tls/Context.cs:\r
133                 - Added new PrintBuffer method ( for debug ).\r
135         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
136         * Mono.Security.Protocol.Tls/SslServerStream.cs:\r
138                 - Callback cleanup.\r
140 2004-03-06 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
142         * Mono.Security.Protocol.Tls/SslServerStream.cs:\r
144                 - Initial implementation of the doHandshake method.\r
146         - Added initial events implementation.\r
148         * Mono.Security.Protocol.Tls/Ciphersuite.cs:\r
149         * Mono.Security.Protocol.Tls/TlsCiphersuite.cs:\r
150         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:\r
151         * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:\r
152         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
153         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:\r
154         * Mono.Security.Protocol.Tls/TlsClientSettings.cs:\r
155         * Mono.Security.Protocol.Tls/ClientContext.cs:\r
157                 - Changes for make use of the renamed classes and enums.\r
159         * Mono.Security.Protocol.Tls/TlsContentType.cs:\r
161                 - Renamed to ContentType.cs ( Enum and file )\r
162  \r
163         * Mono.Security.Protocol.Tls/TlsCiphersuiteCollection.cs:\r
165                 - Renamed to CiphersuiteCollection.cs ( Class and file )\r
167         * Mono.Security.Protocol.Tls/TlsCiphersuiteFactory.cs:\r
169                 - Renamed to CiphersuiteCollection.cs ( Class and file )\r
171         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:\r
173                 - Renamed to SslHandshakeHash.cs ( Class and file )\r
175         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
177                 - Renamed to SslCipherSuite.cs ( Class and file )\r
179 2004-02-26 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
181         * Mono.Security.Protocol.Tls/HandshakeState.cs:\r
183                 - New file.\r
185         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
186         * Mono.Security.Protocol.Tls/SslServerStream.cs:\r
187         * Mono.Security.Protocol.Tls/Context.cs:\r
188         * Mono.Security.Protocol.Tls/ClientContext.cs:\r
189         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:\r
191                 - Added changes for better handling of ClientHelloRequest messages.\r
193 2004-02-25  Sebastien Pouliot  <sebastien@ximian.com>\r
195         * HttpsClientStream.cs: New. Internal glue class between System.dll \r
196         WebConnection and SslClientStream to reduce reflection.\r
197         * SslClientStream.cs: RaiseServerCertificateValidation is now virtual\r
198         to allow HttpsClientStream to override it.\r
200 2004-02-24 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
202         * Mono.Security.Protocol.Tls/RecordProtocol.cs:\r
203         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
204         * Mono.Security.Protocol.Tls/SslServerStream.cs:\r
206                 - Reimplementation of TLS/SSL Alert Protocol.\r
208 2004-02-20 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
210         * Mono.Security.Protocol.Tls.Handshake.Client/SslClientCertificate.cs:\r
212         - Improved exception handling.\r
214 2004-02-18 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
216         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:\r
217         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:\r
218         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:\r
220                 - Added Serializable attribute.\r
222         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
223         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:\r
224         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
225         * Mono.Security.Protocol.Tls/TlsContext.cs:\r
227                 - Added some optimizations proposed by Sebastien Pouliot.\r
229         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:\r
231                 - Changes on Common Name detection and certificate error handling ( Thanks to Sebastien Pouliot for his feedback ).\r
233 2004-02-18  Sebastien Pouliot  <sebastien@ximian.com>\r
235         * SslClientStream.cs: Fixed (inverted) condition for ServerCertificate.\r
236         * SecurityProtocolType.cs: Added [Serializable] to enum to match MS \r
237         implementation.\r
239 2004-02-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
241         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
243                 - Added changes to security properties for check that the handshake is finished.\r
245         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
247         - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )\r
249         - Reworked the record fragmentation.\r
251         - Fix for send the close notify alert in the Close method\r
252         only if the Handshake is fully negotiated.\r
255 2004-02-16 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
257         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:\r
259         - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).\r
261 2004-02-15 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
262  \r
263         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
264  \r
265                 - Added specific control od available data for Network Streams\r
266                 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).\r
267  \r
268                 - Removed test code.\r
270 2004-02-14 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
272     * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
274         - Removed test code.\r
276 2003-11-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
278         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
280                 Removed ReadByte method, use innerStream.ReadByte() method instead.\r
282 2003-11-13 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
284         * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.\r
286                 The next files are no more needed:\r
288                         - TlsSession.cs\r
290                         - TlsNetworkStream.cs\r
292                         - TlsSocket.cs\r
294                         - TlsSessionState.cs\r
296                 The next files are renamed:\r
298                         - TlsSessionSettings.cs -> TlsClientSettings.cs\r
300                         - TlsSessionContext.cs -> TlsContext.cs\r
302                 The next files are new:\r
304                         - SslClientStream.cs ( the name is non definitive yet )\r
306                 The next files where changed to reflect the new canges:\r
308                         - TlsHandshakeMessage.cs\r
310                         - TlsClientCertificate.cs\r
312                         - TlsClientCertificateVerify.cs\r
314                         - TlsClientFinished.cs\r
316                         - TlsClientHello.cs\r
318                         - TlsClientKeyExchange.cs\r
320                         - TlsServerCertificate.cs\r
322                         - TlsServerCertificateRequest.cs\r
324                         - TlsServerFinished.cs\r
326                         - TlsServerHello.cs\r
328                         - TlsServerHelloDone.cs\r
330                         - TlsServerKeyExchange.cs\r
332                         - TlsAlert.cs\r
334                         - TlsCloseNotifyAlert.cs\r
336                 \r
337 2003-11-12 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
339         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:\r
340         \r
341                 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )\r
342                 \r
343         * Mono.Security.Protocol.Tls/TlsProtocol.cs:\r
344         \r
345                 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )\r
346         \r
347         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:\r
348         \r
349                 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )\r
350                 \r
351         * Mono.Security.Cryptography/TlsCompressionMethod.cs:\r
352         \r
353                 - Renamed to SecurityCompressionType.\r
354                 \r
355         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:\r
356         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:\r
357         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:\r
358         \r
359                 - New enumerations that matches .NET 1.2 definitions with some minor differences.\r
360         \r
361         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
362         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:\r
363         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
364         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:\r
365         \r
366                 - Added changes for make use of new enumerations.\r
367         \r
368         * Mono.Security.Protocol.Tls/TlsClientStream.cs:\r
369         \r
370                 - Added new informative properties that matches .NET 1.2 SslClientStream\r
371                 ( Not all the properties are implemented yet ).\r
374 2003-11-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
376         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:\r
378                 - Fixed invalid alert message.\r
380         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
381         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
382         * Mono.Security.Cryptography/HMAC.cs:\r
383         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:\r
384         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
386                 - Changed ( Thanks to Sebastién Pouliot for his feedback )\r
388                         SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();\r
389                         MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();\r
391                         to\r
393                         HashAlgorithm sha = SHA1.Create();\r
394                         HashAlgorithm md5 = MD5.Create(); \r
396 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
398         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
400                 - Added custom padding for record encryption.\r
403 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
405         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:\r
406         \r
407                 - Removed file.\r
409         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:\r
410         \r
411                 - New class for handshake hashes calculation on SSL3 protocol.\r
413         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:\r
414         \r
415                 - Fixed mac keys clearing for SSL3 protocol.\r
417         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
418         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:\r
419         \r
420                 - Added changes for make use of new TlsSslHandshakeHash class.\r
421         \r
422         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:\r
423         \r
424                 - Added initial implementation for SSL3 protocol.\r
425         \r
426         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:\r
427         \r
428                 - New class for md5-sha hash calculation.\r
429                                                         \r
430         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:\r
431         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:\r
432         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:\r
433         * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:\r
434         \r
435                 - Make use of new MD5SHA1CryptoServiceProvider class.\r
436                 \r
437         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
438         \r
439                 - Added initial implementation (not finished).\r
440                         \r
441         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:\r
442         \r
443                 - Minor change to message processing.\r
445                 - Changed verify method name to verifySignature.\r
446                         \r
447         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:\r
448         \r
449                 - Changed handshakeHashes member to be an TlsStream.\r
451 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
453         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
454         * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:\r
455         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:\r
456         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
457         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:\r
458         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:\r
459         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:\r
461                 - Added changes for make use of X509 classes from mono.\r
463 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
465         * Added partial implementation of SSL3 protocol ( not finished yet ).\r
467         * TlsAbstractCipherSuite.cs: Renamed to CipherSuite.cs.\r
469         * Removed AssemblyInfo.cs file.\r
471 2003-10-21 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
473         TlsCipherSuiteFactory.cs: Changed names of private methods.\r
475         TlsSslCipherSuite.cs: Replaced implementations of key generation methods with a throw new NotSupportedException().\r
478 2003-10-20  Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
480         TlsCupherSuite.cs: Fixed padding length calculation on record encryption.\r
481         \r
482         TlsSessionContext.cs:   Added new CompressionMethod property.\r
483                                         Added new MAX_FRAGMENT_SIZE constant.\r
485         TlsSession.cs: Removed MaxFragmentSize property.\r
487         TlsSocket.cs: Replaced use of TlsSesison.MaxFragmentSize by TlsSessionContext.MAX_FAGMENT_SIZE\r
488         \r
489         TlsSessionSettings.cs: Added new CompressionMethod property.\r
491         * Abstracted CipherSuite classes for allow work with other protocol versions.\r
493         * Added new files :\r
495                 TlsAbstractCipherSuite.cs \r
496                         \r
497                 TlsSslCipherSuite.cs\r
499                 TlsCipherSuiteFactory.cs\r
501                 TlsCompressionMethod.cs\r
503         * Added new cipher suites definitions based on RFC3268 - (http://www.ietf.org/rfc/rfc3268.txt)\r
505         * Added two new supported ciphersuites for TLS protocol:\r
507                 TLS_RSA_WITH_AES_256_CBC_SHA\r
509                 TLS_RSA_WITH_AES_128_CBC_SHA\r
511         * Moved key generation stuff to specific cipher suite classes.\r
513 2003-10-20  Pedro Martínez Juliá  <yoros@wanadoo.es>\r
515         * AssemblyInfo.cs: commented out KeyFile reference.\r
517         * TlsSession.cs: changed Math.Pow for System.Math.Pow because of MCS\r
518         bug with namespace resolving.\r