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