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