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