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