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