1 2004-02-25 Sebastien Pouliot <sebastien@ximian.com>
3 * HttpsClientStream.cs: New. Internal glue class between System.dll
4 WebConnection and SslClientStream to reduce reflection.
5 * SslClientStream.cs: RaiseServerCertificateValidation is now virtual
6 to allow HttpsClientStream to override it.
\r
8 2004-02-24 Carlos Guzman Alvarez <carlosga@telefonica.net>
10 * Mono.Security.Protocol.Tls/RecordProtocol.cs:
\r
11 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
12 * Mono.Security.Protocol.Tls/SslServerStream.cs:
\r
14 - Reimplementation of TLS/SSL Alert Protocol.
16 2004-02-20 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
18 * Mono.Security.Protocol.Tls.Handshake.Client/SslClientCertificate.cs:
20 - Improved exception handling.
22 2004-02-18 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
24 * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
\r
25 * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
\r
26 * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
\r
28 - Added Serializable attribute.
\r
30 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
31 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
\r
32 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
33 * Mono.Security.Protocol.Tls/TlsContext.cs:
\r
35 - Added some optimizations proposed by Sebastien Pouliot.
\r
37 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
\r
39 - Changes on Common Name detection and certificate error handling ( Thanks to Sebastien Pouliot for his feedback ).
\r
41 2004-02-18 Sebastien Pouliot <sebastien@ximian.com>
43 * SslClientStream.cs: Fixed (inverted) condition for ServerCertificate.
44 * SecurityProtocolType.cs: Added [Serializable] to enum to match MS
47 2004-02-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
49 * Mono.Security.Protocol.Tls/SslClientStream.cs:
51 - Added changes to security properties for check that the handshake is finished.
53 * Mono.Security.Protocol.Tls/SslClientStream.cs:
55 - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
57 - Reworked the record fragmentation.
59 - Fix for send the close notify alert in the Close method
60 only if the Handshake is fully negotiated.
63 2004-02-16 Carlos Guzmán Álvarez <carlosga@telefonica.net>
65 * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
67 - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
69 2004-02-15 Carlos Guzmán Álvarez <carlosga@telefonica.net>
71 * Mono.Security.Protocol.Tls/SslClientStream.cs:
73 - Added specific control od available data for Network Streams
74 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
78 2004-02-14 Carlos Guzmán Álvarez <carlosga@telefonica.net>
80 * Mono.Security.Protocol.Tls/SslClientStream.cs:
84 2003-11-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
86 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
88 Removed ReadByte method, use innerStream.ReadByte() method instead.
\r
90 2003-11-13 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
92 * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
\r
94 The next files are no more needed:
\r
98 - TlsNetworkStream.cs
\r
102 - TlsSessionState.cs
\r
104 The next files are renamed:
\r
106 - TlsSessionSettings.cs -> TlsClientSettings.cs
\r
108 - TlsSessionContext.cs -> TlsContext.cs
\r
110 The next files are new:
\r
112 - SslClientStream.cs ( the name is non definitive yet )
\r
114 The next files where changed to reflect the new canges:
\r
116 - TlsHandshakeMessage.cs
\r
118 - TlsClientCertificate.cs
\r
120 - TlsClientCertificateVerify.cs
\r
122 - TlsClientFinished.cs
\r
124 - TlsClientHello.cs
\r
126 - TlsClientKeyExchange.cs
\r
128 - TlsServerCertificate.cs
\r
130 - TlsServerCertificateRequest.cs
\r
132 - TlsServerFinished.cs
\r
134 - TlsServerHello.cs
\r
136 - TlsServerHelloDone.cs
\r
138 - TlsServerKeyExchange.cs
\r
142 - TlsCloseNotifyAlert.cs
\r
145 2003-11-12 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
147 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
\r
149 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
\r
151 * Mono.Security.Protocol.Tls/TlsProtocol.cs:
\r
153 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
\r
155 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
157 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
\r
159 * Mono.Security.Cryptography/TlsCompressionMethod.cs:
\r
161 - Renamed to SecurityCompressionType.
\r
163 * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
\r
164 * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
\r
165 * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
\r
167 - New enumerations that matches .NET 1.2 definitions with some minor differences.
\r
169 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
170 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
\r
171 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
172 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
174 - Added changes for make use of new enumerations.
\r
176 * Mono.Security.Protocol.Tls/TlsClientStream.cs:
\r
178 - Added new informative properties that matches .NET 1.2 SslClientStream
\r
179 ( Not all the properties are implemented yet ).
\r
182 2003-11-10 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
184 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
\r
186 - Fixed invalid alert message.
\r
188 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
189 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
190 * Mono.Security.Cryptography/HMAC.cs:
\r
191 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
192 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
\r
194 - Changed ( Thanks to Sebastién Pouliot for his feedback )
\r
196 SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
\r
197 MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
\r
201 HashAlgorithm sha = SHA1.Create();
\r
202 HashAlgorithm md5 = MD5.Create();
\r
204 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
206 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
208 - Added custom padding for record encryption.
\r
211 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
213 * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
\r
217 * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
\r
219 - New class for handshake hashes calculation on SSL3 protocol.
\r
221 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
223 - Fixed mac keys clearing for SSL3 protocol.
\r
225 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
226 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
\r
228 - Added changes for make use of new TlsSslHandshakeHash class.
\r
230 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
\r
232 - Added initial implementation for SSL3 protocol.
\r
234 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
236 - New class for md5-sha hash calculation.
\r
238 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
\r
239 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
\r
240 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
\r
241 * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:
\r
243 - Make use of new MD5SHA1CryptoServiceProvider class.
\r
245 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
\r
247 - Added initial implementation (not finished).
\r
249 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
\r
251 - Minor change to message processing.
\r
253 - Changed verify method name to verifySignature.
\r
255 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
257 - Changed handshakeHashes member to be an TlsStream.
\r
259 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
261 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
262 * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:
\r
263 * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
\r
264 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
\r
265 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:
\r
266 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
\r
267 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
\r
269 - Added changes for make use of X509 classes from mono.
\r
271 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
273 * Added partial implementation of SSL3 protocol ( not finished yet ).
\r
275 * TlsAbstractCipherSuite.cs: Renamed to CipherSuite.cs.
\r
277 * Removed AssemblyInfo.cs file.
\r
279 2003-10-21 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
281 TlsCipherSuiteFactory.cs: Changed names of private methods.
\r
283 TlsSslCipherSuite.cs: Replaced implementations of key generation methods with a throw new NotSupportedException().
\r
286 2003-10-20 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
288 TlsCupherSuite.cs: Fixed padding length calculation on record encryption.
\r
290 TlsSessionContext.cs: Added new CompressionMethod property.
\r
291 Added new MAX_FRAGMENT_SIZE constant.
\r
293 TlsSession.cs: Removed MaxFragmentSize property.
\r
295 TlsSocket.cs: Replaced use of TlsSesison.MaxFragmentSize by TlsSessionContext.MAX_FAGMENT_SIZE
\r
297 TlsSessionSettings.cs: Added new CompressionMethod property.
\r
299 * Abstracted CipherSuite classes for allow work with other protocol versions.
\r
301 * Added new files :
\r
303 TlsAbstractCipherSuite.cs
\r
305 TlsSslCipherSuite.cs
\r
307 TlsCipherSuiteFactory.cs
\r
309 TlsCompressionMethod.cs
\r
311 * Added new cipher suites definitions based on RFC3268 - (http://www.ietf.org/rfc/rfc3268.txt)
\r
313 * Added two new supported ciphersuites for TLS protocol:
\r
315 TLS_RSA_WITH_AES_256_CBC_SHA
\r
317 TLS_RSA_WITH_AES_128_CBC_SHA
\r
319 * Moved key generation stuff to specific cipher suite classes.
\r
321 2003-10-20 Pedro Martínez Juliá <yoros@wanadoo.es>
\r
323 * AssemblyInfo.cs: commented out KeyFile reference.
\r
325 * TlsSession.cs: changed Math.Pow for System.Math.Pow because of MCS
\r
326 bug with namespace resolving.
\r