Added 2 new files and removed 1 from the sources list
[mono.git] / mcs / class / Mono.Security / ChangeLog
1 2004-02-20 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
2 \r
3         * Mono.Security.Protocol.Tls.Alerts/TlsWarningEventAgrs.cs:\r
4 \r
5                 - Removed no more needed file.\r
6 \r
7         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:\r
8 \r
9                 - Added 4 new properties:\r
10 \r
11                         * Message\r
12 \r
13                         * IsWarning\r
14 \r
15                         * IsFatal\r
16 \r
17                         * IsCloseNotify\r
18 \r
19                 - Return always the same message when working in release mode\r
20                 (The authentication or decryption has failed.)\r
21 \r
22         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
23
24                 - Changes to the sync code.\r
25 \r
26                 - Record protocol stuff moved to the new classes.\r
27 \r
28                 - Removed Warning event.
29 \r
30                 - Added control over the CloseNotify Alert\r
31                 to BeginRead method.\r
32 \r
33                 - Return true in the server certificate validation method\r
34                 if there are no errors.\r
35 \r
36         * Mono.Security.Protocol.Tls/RecordProtocol.cs:\r
37         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:\r
38 \r
39                 - New classes for handle the SSL/TLS record protocol.\r
40
41 2004-02-18 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
42 \r
43         * Mono.Security.Protocol.Tls/SslClientStream.cs:
44
45         - Implement CheckCertRevocationStatus ( not used yet )\r
46 \r
47         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:\r
48         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:\r
49         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:\r
50 \r
51                 - Added Serializable attribute.\r
52 \r
53         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
54         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:\r
55         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
56         * Mono.Security.Protocol.Tls/TlsContext.cs:\r
57 \r
58                 - Added some optimizations proposed by Sebastien Pouliot.\r
59 \r
60         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:\r
61 \r
62                 - Changes on Common Name detection and certificate error handling ( Thanks to Sebastien Pouliot for his feedback ).\r
63
64 2004-02-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
65
66         * Mono.Security.Protocol.Tls/SslClientStream.cs:
67
68                 - Added changes to security properties for check that the handshake is finished.
69
70         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:
71
72                 - Raise the Client Certificate event.
73
74         * Mono.Security.Protocol.Tls/CipherSuite.cs:
75         * Mono.Security.Protocol.Tls/SslClientStream.cs:
76         * Mono.Security.Protocol.Tls/SecurityProtocolType.cs:
77         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
78         * Mono.Security.Protocol.Tls/TlsCipherSuiteCollection.cs:
79         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
80         * Mono.Security.Protocol.Tls/TlsContext.cs:
81         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessage.cs:
82         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientHello.cs:
83
84                 - Change the SecurityProtocolType enum to mtch .NET 1.2 documentation definition.
85
86         * Mono.Security.Protocol.Tls/SslClientStream.cs:
87
88                 - Impement SelectedClientCertificate and ServerCertificate properties.
89
90         * Mono.Security.Protocol.Tls/SslClientStream.cs:
91
92         - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
93
94         - Reworked the record fragmentation.
95
96         - Fix for send the close notify alert in the Close method
97         only if the Handshake is fully negotiated.
98
99 2004-02-16 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
100
101         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
102
103         - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
104
105 2004-02-15 Carlos Guzmán Álvarez  <carlosga@te...>
106  
107         * Mono.Security.Protocol.Tls/SslClientStream.cs:
108  
109                 - Added specific control od available data for Network Streams
110                 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
111  
112                 - Removed test code.
113
114 2004-02-14 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
115
116     * Mono.Security.Protocol.Tls/SslClientStream.cs:
117
118         - Removed test code.
119
120     * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
121
122         - Removed test code.
123
124 2004-02-13  Sebastien Pouliot  <sebastien@ximian.com>
125
126         * Mono.Security.dll.sources: Added Diffie-Hellman contribution from
127         Pieter Philippaerts (mentalis.org) to Mono.Security.Cryptography.
128         * Mono.Security_test.dll.sources: Added Diffie-Hellman unit tests.
129
130 2004-02-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
131
132     * Mono.Security.Cryptography/PKCS1.cs:
133
134         - Added little change for allow the class to be used with
135         hash implementations that doesn't have an oid like the MD5SHA1 hash.
136
137     * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
138
139         - Throw exception if the Private Key is null.
140
141     * Mono.Security.Protocol.Tls/SslServerStream.cs:
142
143         - Ssl Server class without implementation ( methods signatures only )
144         That matches the described in the .NET 1.2 documentation.
145
146 2004-02-09  Sebastien Pouliot  <sebastien@ximian.com>
147
148         * Mono.Security_test.dll.sources Added Mono.Math BigInteger unit test
149         to the build (as they cannot be executed with corlib).
150
151 2004-02-09 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
152
153     * Changed the license header to all the sources files
154     to remove accents.
155
156     * Mono.Security.Protocol.Tls/TlsSessionState.cs:
157
158         - Removed old file.
159
160         * Mono.Security.Protocol.Tls/SslClientStream.cs:
161
162                 - Try to improve record reading.
163
164         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:
165
166                 - Send always the first certificate.
167
168         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
169
170                 - Added changes for correct verification of the signed data sent 
171                 by the server.
172
173         * Mono.Security.Cryptography/PKCS1.cs:
174
175                 - Added change to Encode_v15 method for allow correct
176                 encoding of hash algorithms that doesn't have an OID
177                 like the MD5SHA1 hash used in SSL/TLS protocols.
178
179         * Added files from mono:: project that are going to be needed
180         for client authentication:
181
182                 Mono.Math/*
183
184                 Mono.Math.Prime/*
185
186                 Mono.Math.Prime.Generator/*
187
188                 Mono.Security.Cryptography/RSAManaged.cs
189
190         * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
191
192                 - Create RSA as an RSAManaged instance.
193                 
194         * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
195         * Mono.Security.Protocol.Tls/RSASslSignatureDeformatter.cs:
196                 
197                 - Changed key field to be of RSA type.
198
199         * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
200         * Mono.Security.Protocol.Tls/RSASslSignatureDeformatter.cs:
201
202                 - Added new classes for implement in the future RSA-SSL signatures.
203
204         * Changed #region names in all source files.
205
206         * Mono.Security.Protocol.Handshake.Client/TlsServerCertificate.cs:
207                 
208                 - Fixed message (but not working yet - we need RSA signing 
209                 capabilitites with MD5SHA1 hash).       
210
211         * Mono.Security.Protocol.Handshake.Client/TlsServerCertificate.cs:
212         
213                 - Retrict certificate validation to the first validation.
214                 ( real validation needs to be made using a chain )
215                 
216                 - Improved domain validation by making a IP checking between
217                 the target host IP and the certificate domain IP.
218
219                 - Fixed error list handling on certificate validation.  
220
221         * Mono.Security.Protocol.Tls/SslClientStream.cs:
222
223                 - Added new exceptions.
224
225
226 2004-02-06  Sebastien Pouliot  <sebastien@ximian.com>
227
228         * Mono.Security.dll.sources: Added KeyPairPersistence and it's 
229         dependencies in Mono.Xml (MiniParser and SecurityParser). Also 
230         added CryptoTools and SymmetricTransforms in Mono.Sec.Crypt.
231         * Mono.Security_test.dll.sources: Added unit tests for 
232         KeyPairPersistence.
233
234 2003-12-07  Sebastien Pouliot  <spouliot@videotron.ca>
235
236         * Mono.Security.dll.sources: Added PKCS#12 support for X.509 certificates.
237         * Mono.Security_test.dll.sources: Added unit tests for PKCS#12.
238
239 2003-12-01  Sebastien Pouliot  <spouliot@videotron.ca>
240
241         * Mono.Security.dll.sources: Added Mono.Security.Protocol.Ntlm namespace
242         * Mono.Security_test.dll.sources: Added Mono.Security.Protocol.Ntlm unit
243         tests.
244
245 2003-11-27  Sebastien Pouliot  <spouliot@videotron.ca>
246
247         * Mono.Security.dll.sources: Added MD4, MD4Managed and PKCS8 to build.
248         * Mono.Security_test.dll.sources: Added unit tests for MD4, MD4Managed
249         and PKCS8.
250         
251 2003-11-22 Carlos Guzman Alvarez <carlosga@telefonica.net>
252
253         * Changed line endings to unix format in SSL/TLS sources.
254         
255         * Mono.Security.CryptographyoHMD5SHA1CryptoServiceProvider.cs:
256         
257             - Removed file (now it's called MD5SHA1.cs)
258         
259         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
260         
261             - Removed comments from AES ciphersuites.
262
263
264 2003-11-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
265
266         * Mono.Security.Protocol.Tls/SslClientStream.cs:
267
268                 Removed ReadByte method, use innerStream.ReadByte() method instead.
269
270 2003-11-13 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
271
272         * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
273
274                 The next files are no more needed:
275
276                         - TlsSession.cs
277
278                         - TlsNetworkStream.cs
279
280                         - TlsSocket.cs
281
282                         - TlsSessionState.cs
283
284                 The next files are renamed:
285
286                         - TlsSessionSettings.cs -> TlsClientSettings.cs
287
288                         - TlsSessionContext.cs -> TlsContext.cs
289
290                 The next files are new:
291
292                         - SslClientStream.cs ( the name is non definitive yet )
293
294                 The next files where changed to reflect the new canges:
295
296                         - TlsHandshakeMessage.cs
297
298                         - TlsClientCertificate.cs
299
300                         - TlsClientCertificateVerify.cs
301
302                         - TlsClientFinished.cs
303
304                         - TlsClientHello.cs
305
306                         - TlsClientKeyExchange.cs
307
308                         - TlsServerCertificate.cs
309
310                         - TlsServerCertificateRequest.cs
311
312                         - TlsServerFinished.cs
313
314                         - TlsServerHello.cs
315
316                         - TlsServerHelloDone.cs
317
318                         - TlsServerKeyExchange.cs
319
320                         - TlsAlert.cs
321
322                         - TlsCloseNotifyAlert.cs
323
324                 
325 2003-11-12 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
326
327         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
328         
329                 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
330                 
331         * Mono.Security.Protocol.Tls/TlsProtocol.cs:
332         
333                 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
334         
335         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
336         
337                 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
338                 
339         * Mono.Security.Cryptography/TlsCompressionMethod.cs:
340         
341                 - Renamed to SecurityCompressionType.
342                 
343         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
344         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
345         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
346         
347                 - New enumerations that matches .NET 1.2 definitions with some minor differences.
348         
349         * Mono.Security.Protocol.Tls/CipherSuite.cs:
350         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
351         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
352         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
353         
354                 - Added changes for make use of new enumerations.
355         
356         * Mono.Security.Protocol.Tls/TlsClientStream.cs:
357         
358                 - Added new informative properties that matches .NET 1.2 SslClientStream
359                 ( Not all the properties are implemented yet ).
360
361
362 2003-11-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
363
364         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
365
366                 - Fixed invalid alert message.
367
368         * Mono.Security.Protocol.Tls/CipherSuite.cs:
369         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
370         * Mono.Security.Cryptography/HMAC.cs:
371         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
372         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
373
374                 - Changed ( Thanks to Sebastién Pouliot for his feedback )
375
376                         SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
377                         MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
378
379                         to
380
381                         HashAlgorithm sha = SHA1.Create();
382                         HashAlgorithm md5 = MD5.Create(); 
383
384
385 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
386
387         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
388
389                 - Commented server certificate signature verification.
390
391         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
392
393                 - Renamed ServerCertificates property to Certificates.
394
395
396 2003-11-04 Carlos Guzmán Álvarez (carlosga@telefonica.net)
397
398         * Updated SSL/TLS implementation files with unix like line endings.
399
400 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
401
402         * Mono.Security.Protocol.Tls/CipherSuite.cs:
403
404                 - Added custom padding for record encryption.
405
406
407 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
408
409         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
410         
411                 - Removed file.
412
413         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
414         
415                 - New class for handshake hashes calculation on SSL3 protocol.
416
417         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
418         
419                 - Fixed mac keys clearing for SSL3 protocol.
420
421         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
422         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
423         
424                 - Added changes for make use of new TlsSslHandshakeHash class.
425         
426         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
427         
428                 - Added initial implementation for SSL3 protocol.
429         
430         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
431         
432                 - New class for md5-sha hash calculation.
433                                                         
434         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
435         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
436         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
437         * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:
438         
439                 - Make use of new MD5SHA1CryptoServiceProvider class.
440                 
441         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
442         
443                 - Added initial implementation (not finished).
444                         
445         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
446         
447                 - Minor change to message processing.
448
449                 - Changed verify method name to verifySignature.
450                         
451         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
452         
453                 - Changed handshakeHashes member to be an TlsStream.
454
455 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
456
457         * Mono.Security.Protocol.Tls/CipherSuite.cs:
458         * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:
459         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
460         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
461         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:
462         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
463         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
464
465                 - Added changes for make use of X509 classes from mono.
466
467 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
468
469         * Added partial implementation of SSL3 protocol ( not finished yet ) to the TLS sources.
470
471 2003-10-20  Sebastien Pouliot  <spouliot@videotron.ca>
472
473         * Mono.Security.dll.sources: Removed AssemblyInfo.cs from build.
474         This file is for TLS not for the complete Mono.Security assembly.
475
476 2003-10-20  Duncan Mak  <duncan@ximian.com>
477
478         * Mono.Security.dll.sources: Added TlsAbstractCipherSuite.cs,
479         TlsCipherSuiteFactory.cs and TlsCompressMethod.cs. This fixes the
480         build.
481
482 2003-10-20  Carlos Guzmán Álvarez  <carlosga@telefonica.net>
483
484         * Mono.Security.dll.sources: Added references for new Tls files.
485
486 2003-10-20  Pedro Martínez Juliá  <yoros@wanadoo.es>
487
488         * Mono.Security.dll.sources: Added references for Tls files.
489
490 2003-09-05  Sebastien Pouliot  <spouliot@videotron.ca>
491
492         * KeyAttributesExtension.cs: New. Added for WSE.
493
494 2003-09-01  Sebastien Pouliot  <spouliot@videotron.ca>
495
496         * Mono.Security.dll.sources: Added support for Authenticode(tm)
497         signatures.
498
499 2003-07-30  Sebastien Pouliot  <spouliot@videotron.ca>
500
501         * Mono.Security.dll.sources: Added ExtendedKeyUsageExtension.cs 
502         certificate extension (so MakeCert can now create SSL certificates).
503
504 2003-07-28  Sebastien Pouliot  <spouliot@videotron.ca>
505
506         * Mono.Security.dll.sources: Added missing SubjectAltNameExtension.cs
507
508 2003-06-14  Sebastien Pouliot  <spouliot@videotron.ca>
509
510         * list.unix. Added SubjectAltNameExtension.cs
511
512 2003-03-06  Sebastien Pouliot  <spouliot@videotron.ca>
513
514         * list.unix: New. All C# files required to build the assembly.
515         * makefile.gnu: New. Makefile to build the assembly under Linux.
516         * Mono.Security.build: New. NAnt build file. 
517