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