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