2004-05-11 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / mcs / class / Mono.Security / ChangeLog
1 2004-05-09 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
2 \r
3         * Mono.Security.Protocol.Tls/Alert.cs:\r
4         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
5         * Mono.Security.Protocol.Tls/CipherSuiteCollection.cs:\r
6         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:\r
7         * Mono.Security.Protocol.Tls/Context.cs:\r
8         * Mono.Security.Protocol.Tls/RecordProtocol.cs:\r
9         * Mono.Security.Protocol.Tls/SecurityCompressionType.cs:\r
10         * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:\r
11         * Mono.Security.Protocol.Tls/SslServerStream.cs:\r
12         * Mono.Security.Protocol.Tls/TlsClientSettings.cs:\r
13 \r
14                 - Changes for fix FxCop Rules.
15
16                 - Reworked CipherSuiteCollection class.\r
17 \r
18         * Mono.Security.Protocol.Tls.Handshake/HandshakeMessage.cs:\r
19 \r
20                 - Changes for fix FxCop Rules.\r
21
22 2004-04-21 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
23 \r
24         * Mono.Security.Protocol.Tls/DebugHelper.cs:\r
25 \r
26                 - New class.\r
27 \r
28         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:\r
29         * Mono.Security.Protocol.Tls/RecordProtocol.cs:\r
30         * Mono.Security.Protocol.Tls/Context.cs:\r
31         * Mono.Security.Protocol.Tls/Context.cs:\r
32         * Mono.Security.Protocol.Tls/SslCipherSuite.cs:\r
33         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:\r
34         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
35 \r
36                 - Added debug capabilities.\r
37 \r
38         * Mono.Security.Protocol.Tls/ServerContext.cs:\r
39 \r
40                 - Added initialization of requested CertificateTypes and CA's\r
41 \r
42         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:\r
43         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
44         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:\r
45         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerHello.cs:\r
46         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:\r
47 \r
48                 - Modfied exception handling\r
49 \r
50                 - Added debug capabilities.\r
51 \r
52 \r
53         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificateRequest.cs:\r
54 \r
55                 - Modify SSL implementation.\r
56 \r
57         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerCertificateRequest.cs:\r
58 \r
59                 - Initial implementation.\r
60 \r
61         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientCertificateVerify.cs:\r
62         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientFinished.cs:\r
63         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientHello.cs:\r
64 \r
65                 - Modfied exception handling\r
66
67 2004-04-20  Sebastien Pouliot  <sebastien@ximian.com>
68
69         * Mono.Security.dll.sources: Added AssemblyInfo.cs, Locale.cs and
70         BitConverterLE.cs to build.
71
72 2004-04-16 Carlos Guzman Alvarez  <carlosga@telefonica.net>
73
74         * Mono.Security.Protocol.Tls/TlsException.cs:
75
76                 - Make it public until npgsql people can fix their sources.
77
78 2004-04-15 Carlos Guzman Alvarez  <carlosga@telefonica.net>
79
80         * Mono.Security.Protocol.Tls/SslClientStream.cs:
81         * Mono.Security.Protocol.Tls/SslServerStream.cs:
82         * Mono.Security.Protocol.Tls/Alert.cs:
83         * Mono.Security.Protocol.Tls/RecordProtocol.cs:
84         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
85         * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:
86         * Mono.Security.Protocol.Tls/Context.cs:
87         * Mono.Security.Protocol.Tls/TlsException.cs:
88         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:
89         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
90         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
91         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerHello.cs:
92         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
93         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientCertificateVerify.cs:
94         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientFinished.cs:
95         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientHello.cs:
96
97                 - Reworked Alert and Exception (TlsException) handling.
98
99         * Mono.Security.Protocol.Tls/TlsClientSettings.cs:
100
101                 - Added new CertificateRSA property.
102
103         * Mono.Security.Protocol.Tls/SslHandshakeHash.cs:
104                 
105                 - Added two new methods: CreateSignature and VerifySignature.
106
107         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
108
109                 - Added Ssl3 implementation.
110
111         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientCertificateVerify.cs:    
112
113                 - Added initial implementation.
114
115 2004-03-23  Sebastien Pouliot  <sebastien@ximian.com>
116
117         * Mono.Security_test.dll.sources: Added unit tests for CryptoConvert.
118
119 2004-03-19 Carlos Guzman Alvarez  <carlosga@telefonica.net>
120
121         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientHello.cs:
122
123                 - Fixed cipher suite selection.
124
125         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
126         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:
127         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
128         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
129
130                 - Added new CertificateRSA property.
131
132                 - Added new UpdateCertfificateRSA method.
133
134         * Mono.Security.Protocol.Tls/CipherSuite.cs:
135
136                 - Removed CertificateRSA() method.      
137
138 2004-03-17 Carlos Guzman Alvarez  <carlosga@telefonica.net>
139
140         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientCertificate.cs:
141         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerKeyExchange.cs:
142
143                 - Initial implementation.
144
145
146 2004-03-16 Carlos Guzman Alvarez  <carlosga@telefonica.net>
147
148         * Mono.Security.Protocol.Tls/SslCipherSuite.cs:
149
150                 - Added changes for allow it to work as server or client.
151
152
153 2004-03-15 Carlos Guzman Alvarez  <carlosga@telefonica.net>
154
155         * Mono.Security.Protocol.Tls/TlsStream.cs:
156         * Mono.Security.Protocol.Tls/CipherSuite.cs:
157         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
158         * Mono.Security.Protocol.Tls/SslHandshakeHash.cs:
159         * Mono.Security.Protocol.Tls/RecordProtocol.cs:
160         * Mono.Security.Cryptography/MD5SHA1.cs:
161
162                 - Use Buffer.BlockCopy instead of System.Array.Copy
163
164 2004-03-10 Carlos Guzman Alvarez  <carlosga@telefonica.net>
165
166         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
167         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificateRequest.cs:
168         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
169         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientCertificateVerify.cs:
170         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerCertificateRequest.cs:
171         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerFinished.cs:
172
173                 - Fixed meesage type definition.
174
175         * Mono.Security.Protocol.Tls/Ciphersuite.cs:
176
177                 - Added generation of the Server encryption algorithms.
178
179                 - Modified encryption/decription methods for work
180                 as client or server as needed.
181
182         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientKeyExchange.cs:
183
184                 - Finished processing of the message contents.
185
186         * Mono.Security.Protocol.Tls/RecordProtocol.cs:
187         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
188         * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:
189
190                 - Added new ProcessChangeCipherSpec method.
191
192         * Mono.Security.Protocol.Tls/Context.cs:
193
194                 - Added new PrintBuffer method ( for debug ).
195
196         * Mono.Security.Protocol.Tls/SslClientStream.cs:
197         * Mono.Security.Protocol.Tls/SslServerStream.cs:
198
199                 - Callback cleanup.
200
201 2004-03-06 Carlos Guzman Alvarez  <carlosga@telefonica.net>
202
203         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientHello.cs:
204         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientKeyExchange.cs:
205         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerHello.cs:
206         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerHelloDone.cs:
207         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerCertificate.cs:
208
209                 - Initial implementation ( not finished ) 
210
211         * Mono.Security.Protocol.Tls/SslServerStream.cs:
212
213                 - Initial implementation of the doHandshake method.
214
215         - Added initial events implementation.
216
217         * Mono.Security.Protocol.Tls/Ciphersuite.cs:
218         * Mono.Security.Protocol.Tls/TlsCiphersuite.cs:
219         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
220         * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:
221         * Mono.Security.Protocol.Tls/SslClientStream.cs:
222         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
223         * Mono.Security.Protocol.Tls/TlsClientSettings.cs:
224         * Mono.Security.Protocol.Tls/ClientContext.cs:
225         * Mono.Security.Protocol.Tls.Handshake.Client/*.cs:
226         * Mono.Security.Protocol.Tls.Handshake.Server/*.cs:
227
228                 - Changes for make use of the renamed classes and enums.
229
230         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeType.cs:
231
232                 - Renamed to HandshakeType.cs (Enum and file)
233
234         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessage.cs:
235
236                 - Renamed to HandshakeMessage.cs (Class and file)
237
238         * Mono.Security.Protocol.Tls.Handshake/TlsClientCertificateType.cs:
239
240                 - Renamed to ClientCertificateType.cs (Enum and file)
241
242         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
243
244                 - Renamed to Alert (Class, enums and file)
245
246         * Mono.Security.Protocol.Tls/TlsContentType.cs:
247
248                 - Renamed to ContentType.cs ( Enum and file )
249  
250         * Mono.Security.Protocol.Tls/TlsCiphersuiteCollection.cs:
251
252                 - Renamed to CiphersuiteCollection.cs ( Class and file )
253
254         * Mono.Security.Protocol.Tls/TlsCiphersuiteFactory.cs:
255
256                 - Renamed to CiphersuiteCollection.cs ( Class and file )
257
258         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
259
260                 - Renamed to SslHandshakeHash.cs ( Class and file )
261
262         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
263
264                 - Renamed to SslCipherSuite.cs ( Class and file )
265
266 2004-03-04 Carlos Guzman Alvarez  <carlosga@telefonica.net>
267
268         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerHelloDone.cs:
269         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerHelloDone.cs:
270
271         - Fixed message type.
272
273 2004-02-26 Carlos Guzman Alvarez  <carlosga@telefonica.net>
274
275         * Mono.Security.Protocol.Tls/HandshakeState.cs:
276
277                 - New file.
278
279         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
280
281                 - Modified the level of some alerts according to the RFC.
282
283         * Mono.Security.Protocol.Tls/SslClientStream.cs:
284         * Mono.Security.Protocol.Tls/SslServerStream.cs:
285         * Mono.Security.Protocol.Tls/Context.cs:
286         * Mono.Security.Protocol.Tls/ClientContext.cs:
287         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
288         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
289
290                 - Added changes for better handling of ClientHelloRequest messages.
291
292 2004-02-25  Sebastien Pouliot  <sebastien@ximian.com>
293
294         * Mono.Security.dll.sources: Added new internal class HttpsClientStream
295         in Mono.Security.Protocol.Tls to the build.
296
297 2004-02-24 Carlos Guzman Alvarez  <carlosga@telefonica.net>
298
299         * Mono.Security.Protocol.Tls.Alerts/TlsCloseNotifyAlert.cs:
300
301                 - Removed File.
302
303         * Mono.Security.Protocol.Tls.Alerts/TlsAlerts.cs:
304         * Mono.Security.Protocol.Tls/RecordProtocol.cs:
305         * Mono.Security.Protocol.Tls/SslClientStream.cs:
306         * Mono.Security.Protocol.Tls/SslServerStream.cs:
307
308                 - Reimplementation of TLS/SSL Alert Protocol.
309
310 2004-02-23 Carlos Guzman Alvarez  <carlosga@telefonica.net>
311
312         * Mono.Security.Protocol.Tls/TlsContext.cs:
313
314                 - Removed file, implementation is now present in:
315
316                         Context.cs
317                         ClientContext.cs
318                         ServerContext.cs
319
320         * Mono.Security.Protocol.Tls/Context.cs:
321         * Mono.Security.Protocol.Tls/ClientContext.cs:
322         * Mono.Security.Protocol.Tls/ServerContext.cs:
323         * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:
324
325                  - New classes.
326
327         * Mono.Security.Protocol.Tls/SslServerStream.cs:
328
329                 - Added implementation for properties, and read/write methods
330                 as in SslClientStream.
331
332                 - doHandshake method is not implemented yet.
333
334         * Mono.Security.Protocol.Tls/SslClientStream.cs:
335         * Mono.Security.Protocol.Tls/RecordProtocol.cs:
336         * Mono.Security.Protocol.Tls/Ciphersuite.cs:
337         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
338         * Mono.Security.Protocol.Tls.Alerts/TlsCloseNotifyAlert.cs:
339         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessage.cs:
340         * Mono.Security.Protocol.Tls.Handshake.Client/*.cs:
341
342                 - Added changes for make use of the new Context implementation.
343
344         * Mono.Security.Protocol.Tls.Handshake.Server/*.cs:
345
346         - New classes with method signatures only for the server handshake
347         implementation.
348
349 2004-02-21  Carlos Guzman Alvarez  <carlosga@telefonica.net>
350
351     * TlsServerHello: Fix for handle SecurityProtocolType.Default.
352
353 2004-02-20  Sebastien Pouliot  <sebastien@ximian.com>
354
355         * Mono.Security.dll.sources: Added new file X509ChainStatusFlags in
356         Mono.Security.X509 namespace.
357
358 2004-02-20 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
359
360         * Mono.Security.Protocol.Tls/SslClientStream.cs:
361         * Mono.Security.Protocol.Tls/RecordProtocol.cs:
362         * Mono.Security.Protocol.Tls/TlsContext.cs:
363
364                 - Added changes for handle te SecurityProtocolType enum
365                 as a Flags enum.
366
367         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientHello.cs:
368
369                 - Let the Ssl3 message to be process in the same way as the Tls1.
370
371         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientHello.cs:
372                 
373                 - Added changes for use the Protocol version send by the server
374
375         * Mono.Security.Protocol.Tls/CipherSuite.cs:
376
377                 - Compute the premaster secret using the protocol version sent in 
378                 the ClientHello message instead of the actual protocol version.
379
380         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
381
382         - Commented the server cert validation.
383
384         * Mono.Security.Protocol.Tls.Alerts/TlsWarningEventAgrs.cs:
385
386                 - Removed no more needed file.
387
388         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
389
390                 - Added 4 new properties:
391
392                         * Message
393
394                         * IsWarning
395
396                         * IsFatal
397
398                         * IsCloseNotify
399
400                 - Return always the same message when working in release mode
401                 (The authentication or decryption has failed.)
402
403         * Mono.Security.Protocol.Tls/SslClientStream.cs:
404
405                 - Changes to the sync code.
406
407                 - Record protocol stuff moved to the new classes.
408
409                 - Removed Warning event.
410
411                 - Added control over the CloseNotify Alert
412                 to BeginRead method.
413
414                 - Return true in the server certificate validation method
415                 if there are no errors.
416
417         * Mono.Security.Protocol.Tls/RecordProtocol.cs:
418         * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
419
420                 - New classes for handle the SSL/TLS record protocol.
421
422 2004-02-18 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
423
424         * Mono.Security.Protocol.Tls/SslClientStream.cs:
425
426         - Implement CheckCertRevocationStatus ( not used yet )
427
428         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
429         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
430         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
431
432                 - Added Serializable attribute.
433
434         * Mono.Security.Protocol.Tls/CipherSuite.cs:
435         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
436         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
437         * Mono.Security.Protocol.Tls/TlsContext.cs:
438
439                 - Added some optimizations proposed by Sebastien Pouliot.
440
441         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
442
443                 - Changes on Common Name detection and certificate error handling ( Thanks to Sebastien Pouliot for his feedback ).
444
445 2004-02-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
446
447         * Mono.Security.Protocol.Tls/SslClientStream.cs:
448
449                 - Added changes to security properties for check that the handshake is finished.
450
451         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:
452
453                 - Raise the Client Certificate event.
454
455         * Mono.Security.Protocol.Tls/CipherSuite.cs:
456         * Mono.Security.Protocol.Tls/SslClientStream.cs:
457         * Mono.Security.Protocol.Tls/SecurityProtocolType.cs:
458         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
459         * Mono.Security.Protocol.Tls/TlsCipherSuiteCollection.cs:
460         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
461         * Mono.Security.Protocol.Tls/TlsContext.cs:
462         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessage.cs:
463         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientHello.cs:
464
465                 - Change the SecurityProtocolType enum to mtch .NET 1.2 documentation definition.
466
467         * Mono.Security.Protocol.Tls/SslClientStream.cs:
468
469                 - Impement SelectedClientCertificate and ServerCertificate properties.
470
471         * Mono.Security.Protocol.Tls/SslClientStream.cs:
472
473         - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
474
475         - Reworked the record fragmentation.
476
477         - Fix for send the close notify alert in the Close method
478         only if the Handshake is fully negotiated.
479
480 2004-02-16 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
481
482         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
483
484         - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
485
486 2004-02-15 Carlos Guzmán Álvarez  <carlosga@te...>
487  
488         * Mono.Security.Protocol.Tls/SslClientStream.cs:
489  
490                 - Added specific control od available data for Network Streams
491                 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
492  
493                 - Removed test code.
494
495 2004-02-14 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
496
497     * Mono.Security.Protocol.Tls/SslClientStream.cs:
498
499         - Removed test code.
500
501     * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
502
503         - Removed test code.
504
505 2004-02-13  Sebastien Pouliot  <sebastien@ximian.com>
506
507         * Mono.Security.dll.sources: Added Diffie-Hellman contribution from
508         Pieter Philippaerts (mentalis.org) to Mono.Security.Cryptography.
509         * Mono.Security_test.dll.sources: Added Diffie-Hellman unit tests.
510
511 2004-02-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
512
513     * Mono.Security.Cryptography/PKCS1.cs:
514
515         - Added little change for allow the class to be used with
516         hash implementations that doesn't have an oid like the MD5SHA1 hash.
517
518     * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
519
520         - Throw exception if the Private Key is null.
521
522     * Mono.Security.Protocol.Tls/SslServerStream.cs:
523
524         - Ssl Server class without implementation ( methods signatures only )
525         That matches the described in the .NET 1.2 documentation.
526
527 2004-02-09  Sebastien Pouliot  <sebastien@ximian.com>
528
529         * Mono.Security_test.dll.sources Added Mono.Math BigInteger unit test
530         to the build (as they cannot be executed with corlib).
531
532 2004-02-09 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
533
534     * Changed the license header to all the sources files
535     to remove accents.
536
537     * Mono.Security.Protocol.Tls/TlsSessionState.cs:
538
539         - Removed old file.
540
541         * Mono.Security.Protocol.Tls/SslClientStream.cs:
542
543                 - Try to improve record reading.
544
545         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:
546
547                 - Send always the first certificate.
548
549         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
550
551                 - Added changes for correct verification of the signed data sent 
552                 by the server.
553
554         * Mono.Security.Cryptography/PKCS1.cs:
555
556                 - Added change to Encode_v15 method for allow correct
557                 encoding of hash algorithms that doesn't have an OID
558                 like the MD5SHA1 hash used in SSL/TLS protocols.
559
560         * Added files from mono:: project that are going to be needed
561         for client authentication:
562
563                 Mono.Math/*
564
565                 Mono.Math.Prime/*
566
567                 Mono.Math.Prime.Generator/*
568
569                 Mono.Security.Cryptography/RSAManaged.cs
570
571         * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
572
573                 - Create RSA as an RSAManaged instance.
574                 
575         * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
576         * Mono.Security.Protocol.Tls/RSASslSignatureDeformatter.cs:
577                 
578                 - Changed key field to be of RSA type.
579
580         * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
581         * Mono.Security.Protocol.Tls/RSASslSignatureDeformatter.cs:
582
583                 - Added new classes for implement in the future RSA-SSL signatures.
584
585         * Changed #region names in all source files.
586
587         * Mono.Security.Protocol.Handshake.Client/TlsServerCertificate.cs:
588                 
589                 - Fixed message (but not working yet - we need RSA signing 
590                 capabilitites with MD5SHA1 hash).       
591
592         * Mono.Security.Protocol.Handshake.Client/TlsServerCertificate.cs:
593         
594                 - Retrict certificate validation to the first validation.
595                 ( real validation needs to be made using a chain )
596                 
597                 - Improved domain validation by making a IP checking between
598                 the target host IP and the certificate domain IP.
599
600                 - Fixed error list handling on certificate validation.  
601
602         * Mono.Security.Protocol.Tls/SslClientStream.cs:
603
604                 - Added new exceptions.
605
606
607 2004-02-06  Sebastien Pouliot  <sebastien@ximian.com>
608
609         * Mono.Security.dll.sources: Added KeyPairPersistence and it's 
610         dependencies in Mono.Xml (MiniParser and SecurityParser). Also 
611         added CryptoTools and SymmetricTransforms in Mono.Sec.Crypt.
612         * Mono.Security_test.dll.sources: Added unit tests for 
613         KeyPairPersistence.
614
615 2003-12-07  Sebastien Pouliot  <spouliot@videotron.ca>
616
617         * Mono.Security.dll.sources: Added PKCS#12 support for X.509 certificates.
618         * Mono.Security_test.dll.sources: Added unit tests for PKCS#12.
619
620 2003-12-01  Sebastien Pouliot  <spouliot@videotron.ca>
621
622         * Mono.Security.dll.sources: Added Mono.Security.Protocol.Ntlm namespace
623         * Mono.Security_test.dll.sources: Added Mono.Security.Protocol.Ntlm unit
624         tests.
625
626 2003-11-27  Sebastien Pouliot  <spouliot@videotron.ca>
627
628         * Mono.Security.dll.sources: Added MD4, MD4Managed and PKCS8 to build.
629         * Mono.Security_test.dll.sources: Added unit tests for MD4, MD4Managed
630         and PKCS8.
631         
632 2003-11-22 Carlos Guzman Alvarez <carlosga@telefonica.net>
633
634         * Changed line endings to unix format in SSL/TLS sources.
635         
636         * Mono.Security.CryptographyoHMD5SHA1CryptoServiceProvider.cs:
637         
638             - Removed file (now it's called MD5SHA1.cs)
639         
640         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
641         
642             - Removed comments from AES ciphersuites.
643
644
645 2003-11-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
646
647         * Mono.Security.Protocol.Tls/SslClientStream.cs:
648
649                 Removed ReadByte method, use innerStream.ReadByte() method instead.
650
651 2003-11-13 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
652
653         * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
654
655                 The next files are no more needed:
656
657                         - TlsSession.cs
658
659                         - TlsNetworkStream.cs
660
661                         - TlsSocket.cs
662
663                         - TlsSessionState.cs
664
665                 The next files are renamed:
666
667                         - TlsSessionSettings.cs -> TlsClientSettings.cs
668
669                         - TlsSessionContext.cs -> TlsContext.cs
670
671                 The next files are new:
672
673                         - SslClientStream.cs ( the name is non definitive yet )
674
675                 The next files where changed to reflect the new canges:
676
677                         - TlsHandshakeMessage.cs
678
679                         - TlsClientCertificate.cs
680
681                         - TlsClientCertificateVerify.cs
682
683                         - TlsClientFinished.cs
684
685                         - TlsClientHello.cs
686
687                         - TlsClientKeyExchange.cs
688
689                         - TlsServerCertificate.cs
690
691                         - TlsServerCertificateRequest.cs
692
693                         - TlsServerFinished.cs
694
695                         - TlsServerHello.cs
696
697                         - TlsServerHelloDone.cs
698
699                         - TlsServerKeyExchange.cs
700
701                         - TlsAlert.cs
702
703                         - TlsCloseNotifyAlert.cs
704
705                 
706 2003-11-12 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
707
708         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
709         
710                 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
711                 
712         * Mono.Security.Protocol.Tls/TlsProtocol.cs:
713         
714                 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
715         
716         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
717         
718                 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
719                 
720         * Mono.Security.Cryptography/TlsCompressionMethod.cs:
721         
722                 - Renamed to SecurityCompressionType.
723                 
724         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
725         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
726         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
727         
728                 - New enumerations that matches .NET 1.2 definitions with some minor differences.
729         
730         * Mono.Security.Protocol.Tls/CipherSuite.cs:
731         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
732         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
733         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
734         
735                 - Added changes for make use of new enumerations.
736         
737         * Mono.Security.Protocol.Tls/TlsClientStream.cs:
738         
739                 - Added new informative properties that matches .NET 1.2 SslClientStream
740                 ( Not all the properties are implemented yet ).
741
742
743 2003-11-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
744
745         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
746
747                 - Fixed invalid alert message.
748
749         * Mono.Security.Protocol.Tls/CipherSuite.cs:
750         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
751         * Mono.Security.Cryptography/HMAC.cs:
752         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
753         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
754
755                 - Changed ( Thanks to Sebastién Pouliot for his feedback )
756
757                         SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
758                         MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
759
760                         to
761
762                         HashAlgorithm sha = SHA1.Create();
763                         HashAlgorithm md5 = MD5.Create(); 
764
765
766 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
767
768         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
769
770                 - Commented server certificate signature verification.
771
772         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
773
774                 - Renamed ServerCertificates property to Certificates.
775
776
777 2003-11-04 Carlos Guzmán Álvarez (carlosga@telefonica.net)
778
779         * Updated SSL/TLS implementation files with unix like line endings.
780
781 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
782
783         * Mono.Security.Protocol.Tls/CipherSuite.cs:
784
785                 - Added custom padding for record encryption.
786
787
788 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
789
790         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
791         
792                 - Removed file.
793
794         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
795         
796                 - New class for handshake hashes calculation on SSL3 protocol.
797
798         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
799         
800                 - Fixed mac keys clearing for SSL3 protocol.
801
802         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
803         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
804         
805                 - Added changes for make use of new TlsSslHandshakeHash class.
806         
807         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
808         
809                 - Added initial implementation for SSL3 protocol.
810         
811         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
812         
813                 - New class for md5-sha hash calculation.
814                                                         
815         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
816         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
817         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
818         * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:
819         
820                 - Make use of new MD5SHA1CryptoServiceProvider class.
821                 
822         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
823         
824                 - Added initial implementation (not finished).
825                         
826         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
827         
828                 - Minor change to message processing.
829
830                 - Changed verify method name to verifySignature.
831                         
832         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
833         
834                 - Changed handshakeHashes member to be an TlsStream.
835
836 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
837
838         * Mono.Security.Protocol.Tls/CipherSuite.cs:
839         * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:
840         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
841         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
842         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:
843         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
844         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
845
846                 - Added changes for make use of X509 classes from mono.
847
848 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
849
850         * Added partial implementation of SSL3 protocol ( not finished yet ) to the TLS sources.
851
852 2003-10-20  Sebastien Pouliot  <spouliot@videotron.ca>
853
854         * Mono.Security.dll.sources: Removed AssemblyInfo.cs from build.
855         This file is for TLS not for the complete Mono.Security assembly.
856
857 2003-10-20  Duncan Mak  <duncan@ximian.com>
858
859         * Mono.Security.dll.sources: Added TlsAbstractCipherSuite.cs,
860         TlsCipherSuiteFactory.cs and TlsCompressMethod.cs. This fixes the
861         build.
862
863 2003-10-20  Carlos Guzmán Álvarez  <carlosga@telefonica.net>
864
865         * Mono.Security.dll.sources: Added references for new Tls files.
866
867 2003-10-20  Pedro Martínez Juliá  <yoros@wanadoo.es>
868
869         * Mono.Security.dll.sources: Added references for Tls files.
870
871 2003-09-05  Sebastien Pouliot  <spouliot@videotron.ca>
872
873         * KeyAttributesExtension.cs: New. Added for WSE.
874
875 2003-09-01  Sebastien Pouliot  <spouliot@videotron.ca>
876
877         * Mono.Security.dll.sources: Added support for Authenticode(tm)
878         signatures.
879
880 2003-07-30  Sebastien Pouliot  <spouliot@videotron.ca>
881
882         * Mono.Security.dll.sources: Added ExtendedKeyUsageExtension.cs 
883         certificate extension (so MakeCert can now create SSL certificates).
884
885 2003-07-28  Sebastien Pouliot  <spouliot@videotron.ca>
886
887         * Mono.Security.dll.sources: Added missing SubjectAltNameExtension.cs
888
889 2003-06-14  Sebastien Pouliot  <spouliot@videotron.ca>
890
891         * list.unix. Added SubjectAltNameExtension.cs
892
893 2003-03-06  Sebastien Pouliot  <spouliot@videotron.ca>
894
895         * list.unix: New. All C# files required to build the assembly.
896         * makefile.gnu: New. Makefile to build the assembly under Linux.
897         * Mono.Security.build: New. NAnt build file. 
898