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