2004-02-18 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / mcs / class / Mono.Security / Mono.Security.Protocol.Tls / ChangeLog
1 2004-02-18  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * SslClientStream.cs: Fixed (inverted) condition for ServerCertificate.
4         * SecurityProtocolType.cs: Added [Serializable] to enum to match MS 
5         implementation.
6
7 2004-02-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
8
9         * Mono.Security.Protocol.Tls/SslClientStream.cs:
10
11                 - Added changes to security properties for check that the handshake is finished.
12
13         * Mono.Security.Protocol.Tls/SslClientStream.cs:
14
15         - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
16
17         - Reworked the record fragmentation.
18
19         - Fix for send the close notify alert in the Close method
20         only if the Handshake is fully negotiated.
21
22
23 2004-02-16 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
24
25         * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
26
27         - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
28
29 2004-02-15 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
30  
31         * Mono.Security.Protocol.Tls/SslClientStream.cs:
32  
33                 - Added specific control od available data for Network Streams
34                 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
35  
36                 - Removed test code.
37
38 2004-02-14 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
39
40     * Mono.Security.Protocol.Tls/SslClientStream.cs:
41
42         - Removed test code.
43
44 2003-11-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
45 \r
46         * Mono.Security.Protocol.Tls/SslClientStream.cs:\r
47 \r
48                 Removed ReadByte method, use innerStream.ReadByte() method instead.\r
49 \r
50 2003-11-13 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
51 \r
52         * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.\r
53 \r
54                 The next files are no more needed:\r
55 \r
56                         - TlsSession.cs\r
57 \r
58                         - TlsNetworkStream.cs\r
59 \r
60                         - TlsSocket.cs\r
61 \r
62                         - TlsSessionState.cs\r
63 \r
64                 The next files are renamed:\r
65 \r
66                         - TlsSessionSettings.cs -> TlsClientSettings.cs\r
67 \r
68                         - TlsSessionContext.cs -> TlsContext.cs\r
69 \r
70                 The next files are new:\r
71 \r
72                         - SslClientStream.cs ( the name is non definitive yet )\r
73 \r
74                 The next files where changed to reflect the new canges:\r
75 \r
76                         - TlsHandshakeMessage.cs\r
77 \r
78                         - TlsClientCertificate.cs\r
79 \r
80                         - TlsClientCertificateVerify.cs\r
81 \r
82                         - TlsClientFinished.cs\r
83 \r
84                         - TlsClientHello.cs\r
85 \r
86                         - TlsClientKeyExchange.cs\r
87 \r
88                         - TlsServerCertificate.cs\r
89 \r
90                         - TlsServerCertificateRequest.cs\r
91 \r
92                         - TlsServerFinished.cs\r
93 \r
94                         - TlsServerHello.cs\r
95 \r
96                         - TlsServerHelloDone.cs\r
97 \r
98                         - TlsServerKeyExchange.cs\r
99 \r
100                         - TlsAlert.cs\r
101 \r
102                         - TlsCloseNotifyAlert.cs\r
103 \r
104                 \r
105 2003-11-12 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
106 \r
107         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:\r
108         \r
109                 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )\r
110                 \r
111         * Mono.Security.Protocol.Tls/TlsProtocol.cs:\r
112         \r
113                 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )\r
114         \r
115         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:\r
116         \r
117                 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )\r
118                 \r
119         * Mono.Security.Cryptography/TlsCompressionMethod.cs:\r
120         \r
121                 - Renamed to SecurityCompressionType.\r
122                 \r
123         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:\r
124         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:\r
125         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:\r
126         \r
127                 - New enumerations that matches .NET 1.2 definitions with some minor differences.\r
128         \r
129         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
130         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:\r
131         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
132         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:\r
133         \r
134                 - Added changes for make use of new enumerations.\r
135         \r
136         * Mono.Security.Protocol.Tls/TlsClientStream.cs:\r
137         \r
138                 - Added new informative properties that matches .NET 1.2 SslClientStream\r
139                 ( Not all the properties are implemented yet ).\r
140 \r
141 \r
142 2003-11-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
143 \r
144         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:\r
145 \r
146                 - Fixed invalid alert message.\r
147 \r
148         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
149         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
150         * Mono.Security.Cryptography/HMAC.cs:\r
151         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:\r
152         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
153 \r
154                 - Changed ( Thanks to Sebastién Pouliot for his feedback )\r
155 \r
156                         SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();\r
157                         MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();\r
158 \r
159                         to\r
160 \r
161                         HashAlgorithm sha = SHA1.Create();\r
162                         HashAlgorithm md5 = MD5.Create(); \r
163
164 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
165 \r
166         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
167 \r
168                 - Added custom padding for record encryption.\r
169 \r
170 \r
171 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
172 \r
173         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:\r
174         \r
175                 - Removed file.\r
176 \r
177         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:\r
178         \r
179                 - New class for handshake hashes calculation on SSL3 protocol.\r
180 \r
181         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:\r
182         \r
183                 - Fixed mac keys clearing for SSL3 protocol.\r
184 \r
185         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:\r
186         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:\r
187         \r
188                 - Added changes for make use of new TlsSslHandshakeHash class.\r
189         \r
190         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:\r
191         \r
192                 - Added initial implementation for SSL3 protocol.\r
193         \r
194         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:\r
195         \r
196                 - New class for md5-sha hash calculation.\r
197                                                         \r
198         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:\r
199         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:\r
200         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:\r
201         * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:\r
202         \r
203                 - Make use of new MD5SHA1CryptoServiceProvider class.\r
204                 \r
205         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
206         \r
207                 - Added initial implementation (not finished).\r
208                         \r
209         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:\r
210         \r
211                 - Minor change to message processing.\r
212 \r
213                 - Changed verify method name to verifySignature.\r
214                         \r
215         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:\r
216         \r
217                 - Changed handshakeHashes member to be an TlsStream.\r
218 \r
219 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
220 \r
221         * Mono.Security.Protocol.Tls/CipherSuite.cs:\r
222         * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:\r
223         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:\r
224         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:\r
225         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:\r
226         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:\r
227         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:\r
228 \r
229                 - Added changes for make use of X509 classes from mono.\r
230 \r
231 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
232 \r
233         * Added partial implementation of SSL3 protocol ( not finished yet ).\r
234 \r
235         * TlsAbstractCipherSuite.cs: Renamed to CipherSuite.cs.\r
236 \r
237         * Removed AssemblyInfo.cs file.\r
238 \r
239 2003-10-21 Carlos Guzmán Álvarez <carlosga@telefonica.net>\r
240 \r
241         TlsCipherSuiteFactory.cs: Changed names of private methods.\r
242 \r
243         TlsSslCipherSuite.cs: Replaced implementations of key generation methods with a throw new NotSupportedException().\r
244 \r
245 \r
246 2003-10-20  Carlos Guzmán Álvarez  <carlosga@telefonica.net>\r
247 \r
248         TlsCupherSuite.cs: Fixed padding length calculation on record encryption.\r
249         \r
250         TlsSessionContext.cs:   Added new CompressionMethod property.\r
251                                         Added new MAX_FRAGMENT_SIZE constant.\r
252 \r
253         TlsSession.cs: Removed MaxFragmentSize property.\r
254 \r
255         TlsSocket.cs: Replaced use of TlsSesison.MaxFragmentSize by TlsSessionContext.MAX_FAGMENT_SIZE\r
256         \r
257         TlsSessionSettings.cs: Added new CompressionMethod property.\r
258 \r
259         * Abstracted CipherSuite classes for allow work with other protocol versions.\r
260 \r
261         * Added new files :\r
262 \r
263                 TlsAbstractCipherSuite.cs \r
264                         \r
265                 TlsSslCipherSuite.cs\r
266 \r
267                 TlsCipherSuiteFactory.cs\r
268 \r
269                 TlsCompressionMethod.cs\r
270 \r
271         * Added new cipher suites definitions based on RFC3268 - (http://www.ietf.org/rfc/rfc3268.txt)\r
272 \r
273         * Added two new supported ciphersuites for TLS protocol:\r
274 \r
275                 TLS_RSA_WITH_AES_256_CBC_SHA\r
276 \r
277                 TLS_RSA_WITH_AES_128_CBC_SHA\r
278 \r
279         * Moved key generation stuff to specific cipher suite classes.\r
280 \r
281 2003-10-20  Pedro Martínez Juliá  <yoros@wanadoo.es>\r
282 \r
283         * AssemblyInfo.cs: commented out KeyFile reference.\r
284 \r
285         * TlsSession.cs: changed Math.Pow for System.Math.Pow because of MCS\r
286         bug with namespace resolving.\r
287 \r