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