19d18f4992b6f0263c46ad1bcaa4528ec927f447
[mono.git] / mcs / class / Mono.Security / ChangeLog
1 2004-02-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
2
3         * Mono.Security.Protocol.Tls/SslClientStream.cs:
4
5                 - Added changes to security properties for check that the handshake is finished.
6
7         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:
8
9                 - Raise the Client Certificate event.
10
11         * Mono.Security.Protocol.Tls/CipherSuite.cs:
12         * Mono.Security.Protocol.Tls/SslClientStream.cs:
13         * Mono.Security.Protocol.Tls/SecurityProtocolType.cs:
14         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
15         * Mono.Security.Protocol.Tls/TlsCipherSuiteCollection.cs:
16         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
17         * Mono.Security.Protocol.Tls/TlsContext.cs:
18         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessage.cs:
19         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientHello.cs:
20
21                 - Change the SecurityProtocolType enum to mtch .NET 1.2 documentation definition.
22
23         * Mono.Security.Protocol.Tls/SslClientStream.cs:
24
25                 - Impement SelectedClientCertificate and ServerCertificate properties.
26
27         * Mono.Security.Protocol.Tls/SslClientStream.cs:
28
29         - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
30
31         - Reworked the record fragmentation.
32
33         - Fix for send the close notify alert in the Close method
34         only if the Handshake is fully negotiated.
35
36 2004-02-16 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
37
38         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
39
40         - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
41
42 2004-02-15 Carlos Guzmán Álvarez  <carlosga@te...>
43  
44         * Mono.Security.Protocol.Tls/SslClientStream.cs:
45  
46                 - Added specific control od available data for Network Streams
47                 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
48  
49                 - Removed test code.
50
51 2004-02-14 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
52
53     * Mono.Security.Protocol.Tls/SslClientStream.cs:
54
55         - Removed test code.
56
57     * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
58
59         - Removed test code.
60
61 2004-02-13  Sebastien Pouliot  <sebastien@ximian.com>
62
63         * Mono.Security.dll.sources: Added Diffie-Hellman contribution from
64         Pieter Philippaerts (mentalis.org) to Mono.Security.Cryptography.
65         * Mono.Security_test.dll.sources: Added Diffie-Hellman unit tests.
66
67 2004-02-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
68
69     * Mono.Security.Cryptography/PKCS1.cs:
70
71         - Added little change for allow the class to be used with
72         hash implementations that doesn't have an oid like the MD5SHA1 hash.
73
74     * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
75
76         - Throw exception if the Private Key is null.
77
78     * Mono.Security.Protocol.Tls/SslServerStream.cs:
79
80         - Ssl Server class without implementation ( methods signatures only )
81         That matches the described in the .NET 1.2 documentation.
82
83 2004-02-09  Sebastien Pouliot  <sebastien@ximian.com>
84
85         * Mono.Security_test.dll.sources Added Mono.Math BigInteger unit test
86         to the build (as they cannot be executed with corlib).
87
88 2004-02-09 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
89
90     * Changed the license header to all the sources files
91     to remove accents.
92
93     * Mono.Security.Protocol.Tls/TlsSessionState.cs:
94
95         - Removed old file.
96
97         * Mono.Security.Protocol.Tls/SslClientStream.cs:
98
99                 - Try to improve record reading.
100
101         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:
102
103                 - Send always the first certificate.
104
105         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
106
107                 - Added changes for correct verification of the signed data sent 
108                 by the server.
109
110         * Mono.Security.Cryptography/PKCS1.cs:
111
112                 - Added change to Encode_v15 method for allow correct
113                 encoding of hash algorithms that doesn't have an OID
114                 like the MD5SHA1 hash used in SSL/TLS protocols.
115
116         * Added files from mono:: project that are going to be needed
117         for client authentication:
118
119                 Mono.Math/*
120
121                 Mono.Math.Prime/*
122
123                 Mono.Math.Prime.Generator/*
124
125                 Mono.Security.Cryptography/RSAManaged.cs
126
127         * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
128
129                 - Create RSA as an RSAManaged instance.
130                 
131         * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
132         * Mono.Security.Protocol.Tls/RSASslSignatureDeformatter.cs:
133                 
134                 - Changed key field to be of RSA type.
135
136         * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
137         * Mono.Security.Protocol.Tls/RSASslSignatureDeformatter.cs:
138
139                 - Added new classes for implement in the future RSA-SSL signatures.
140
141         * Changed #region names in all source files.
142
143         * Mono.Security.Protocol.Handshake.Client/TlsServerCertificate.cs:
144                 
145                 - Fixed message (but not working yet - we need RSA signing 
146                 capabilitites with MD5SHA1 hash).       
147
148         * Mono.Security.Protocol.Handshake.Client/TlsServerCertificate.cs:
149         
150                 - Retrict certificate validation to the first validation.
151                 ( real validation needs to be made using a chain )
152                 
153                 - Improved domain validation by making a IP checking between
154                 the target host IP and the certificate domain IP.
155
156                 - Fixed error list handling on certificate validation.  
157
158         * Mono.Security.Protocol.Tls/SslClientStream.cs:
159
160                 - Added new exceptions.
161
162
163 2004-02-06  Sebastien Pouliot  <sebastien@ximian.com>
164
165         * Mono.Security.dll.sources: Added KeyPairPersistence and it's 
166         dependencies in Mono.Xml (MiniParser and SecurityParser). Also 
167         added CryptoTools and SymmetricTransforms in Mono.Sec.Crypt.
168         * Mono.Security_test.dll.sources: Added unit tests for 
169         KeyPairPersistence.
170
171 2003-12-07  Sebastien Pouliot  <spouliot@videotron.ca>
172
173         * Mono.Security.dll.sources: Added PKCS#12 support for X.509 certificates.
174         * Mono.Security_test.dll.sources: Added unit tests for PKCS#12.
175
176 2003-12-01  Sebastien Pouliot  <spouliot@videotron.ca>
177
178         * Mono.Security.dll.sources: Added Mono.Security.Protocol.Ntlm namespace
179         * Mono.Security_test.dll.sources: Added Mono.Security.Protocol.Ntlm unit
180         tests.
181
182 2003-11-27  Sebastien Pouliot  <spouliot@videotron.ca>
183
184         * Mono.Security.dll.sources: Added MD4, MD4Managed and PKCS8 to build.
185         * Mono.Security_test.dll.sources: Added unit tests for MD4, MD4Managed
186         and PKCS8.
187         
188 2003-11-22 Carlos Guzman Alvarez <carlosga@telefonica.net>
189
190         * Changed line endings to unix format in SSL/TLS sources.
191         
192         * Mono.Security.CryptographyoHMD5SHA1CryptoServiceProvider.cs:
193         
194             - Removed file (now it's called MD5SHA1.cs)
195         
196         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
197         
198             - Removed comments from AES ciphersuites.
199
200
201 2003-11-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
202
203         * Mono.Security.Protocol.Tls/SslClientStream.cs:
204
205                 Removed ReadByte method, use innerStream.ReadByte() method instead.
206
207 2003-11-13 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
208
209         * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
210
211                 The next files are no more needed:
212
213                         - TlsSession.cs
214
215                         - TlsNetworkStream.cs
216
217                         - TlsSocket.cs
218
219                         - TlsSessionState.cs
220
221                 The next files are renamed:
222
223                         - TlsSessionSettings.cs -> TlsClientSettings.cs
224
225                         - TlsSessionContext.cs -> TlsContext.cs
226
227                 The next files are new:
228
229                         - SslClientStream.cs ( the name is non definitive yet )
230
231                 The next files where changed to reflect the new canges:
232
233                         - TlsHandshakeMessage.cs
234
235                         - TlsClientCertificate.cs
236
237                         - TlsClientCertificateVerify.cs
238
239                         - TlsClientFinished.cs
240
241                         - TlsClientHello.cs
242
243                         - TlsClientKeyExchange.cs
244
245                         - TlsServerCertificate.cs
246
247                         - TlsServerCertificateRequest.cs
248
249                         - TlsServerFinished.cs
250
251                         - TlsServerHello.cs
252
253                         - TlsServerHelloDone.cs
254
255                         - TlsServerKeyExchange.cs
256
257                         - TlsAlert.cs
258
259                         - TlsCloseNotifyAlert.cs
260
261                 
262 2003-11-12 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
263
264         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
265         
266                 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
267                 
268         * Mono.Security.Protocol.Tls/TlsProtocol.cs:
269         
270                 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
271         
272         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
273         
274                 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
275                 
276         * Mono.Security.Cryptography/TlsCompressionMethod.cs:
277         
278                 - Renamed to SecurityCompressionType.
279                 
280         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
281         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
282         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
283         
284                 - New enumerations that matches .NET 1.2 definitions with some minor differences.
285         
286         * Mono.Security.Protocol.Tls/CipherSuite.cs:
287         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
288         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
289         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
290         
291                 - Added changes for make use of new enumerations.
292         
293         * Mono.Security.Protocol.Tls/TlsClientStream.cs:
294         
295                 - Added new informative properties that matches .NET 1.2 SslClientStream
296                 ( Not all the properties are implemented yet ).
297
298
299 2003-11-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
300
301         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
302
303                 - Fixed invalid alert message.
304
305         * Mono.Security.Protocol.Tls/CipherSuite.cs:
306         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
307         * Mono.Security.Cryptography/HMAC.cs:
308         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
309         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
310
311                 - Changed ( Thanks to Sebastién Pouliot for his feedback )
312
313                         SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
314                         MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
315
316                         to
317
318                         HashAlgorithm sha = SHA1.Create();
319                         HashAlgorithm md5 = MD5.Create(); 
320
321
322 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
323
324         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
325
326                 - Commented server certificate signature verification.
327
328         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
329
330                 - Renamed ServerCertificates property to Certificates.
331
332
333 2003-11-04 Carlos Guzmán Álvarez (carlosga@telefonica.net)
334
335         * Updated SSL/TLS implementation files with unix like line endings.
336
337 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
338
339         * Mono.Security.Protocol.Tls/CipherSuite.cs:
340
341                 - Added custom padding for record encryption.
342
343
344 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
345
346         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
347         
348                 - Removed file.
349
350         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
351         
352                 - New class for handshake hashes calculation on SSL3 protocol.
353
354         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
355         
356                 - Fixed mac keys clearing for SSL3 protocol.
357
358         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
359         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
360         
361                 - Added changes for make use of new TlsSslHandshakeHash class.
362         
363         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
364         
365                 - Added initial implementation for SSL3 protocol.
366         
367         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
368         
369                 - New class for md5-sha hash calculation.
370                                                         
371         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
372         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
373         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
374         * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:
375         
376                 - Make use of new MD5SHA1CryptoServiceProvider class.
377                 
378         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
379         
380                 - Added initial implementation (not finished).
381                         
382         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
383         
384                 - Minor change to message processing.
385
386                 - Changed verify method name to verifySignature.
387                         
388         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
389         
390                 - Changed handshakeHashes member to be an TlsStream.
391
392 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
393
394         * Mono.Security.Protocol.Tls/CipherSuite.cs:
395         * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:
396         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
397         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
398         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:
399         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
400         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
401
402                 - Added changes for make use of X509 classes from mono.
403
404 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
405
406         * Added partial implementation of SSL3 protocol ( not finished yet ) to the TLS sources.
407
408 2003-10-20  Sebastien Pouliot  <spouliot@videotron.ca>
409
410         * Mono.Security.dll.sources: Removed AssemblyInfo.cs from build.
411         This file is for TLS not for the complete Mono.Security assembly.
412
413 2003-10-20  Duncan Mak  <duncan@ximian.com>
414
415         * Mono.Security.dll.sources: Added TlsAbstractCipherSuite.cs,
416         TlsCipherSuiteFactory.cs and TlsCompressMethod.cs. This fixes the
417         build.
418
419 2003-10-20  Carlos Guzmán Álvarez  <carlosga@telefonica.net>
420
421         * Mono.Security.dll.sources: Added references for new Tls files.
422
423 2003-10-20  Pedro Martínez Juliá  <yoros@wanadoo.es>
424
425         * Mono.Security.dll.sources: Added references for Tls files.
426
427 2003-09-05  Sebastien Pouliot  <spouliot@videotron.ca>
428
429         * KeyAttributesExtension.cs: New. Added for WSE.
430
431 2003-09-01  Sebastien Pouliot  <spouliot@videotron.ca>
432
433         * Mono.Security.dll.sources: Added support for Authenticode(tm)
434         signatures.
435
436 2003-07-30  Sebastien Pouliot  <spouliot@videotron.ca>
437
438         * Mono.Security.dll.sources: Added ExtendedKeyUsageExtension.cs 
439         certificate extension (so MakeCert can now create SSL certificates).
440
441 2003-07-28  Sebastien Pouliot  <spouliot@videotron.ca>
442
443         * Mono.Security.dll.sources: Added missing SubjectAltNameExtension.cs
444
445 2003-06-14  Sebastien Pouliot  <spouliot@videotron.ca>
446
447         * list.unix. Added SubjectAltNameExtension.cs
448
449 2003-03-06  Sebastien Pouliot  <spouliot@videotron.ca>
450
451         * list.unix: New. All C# files required to build the assembly.
452         * makefile.gnu: New. Makefile to build the assembly under Linux.
453         * Mono.Security.build: New. NAnt build file. 
454