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