1 2006-04-21 Sebastien Pouliot <sebastien@ximian.com>
3 * SslCipherSuite.cs: Enable abbreviated handshakes for SSL3 too.
5 2006-04-12 Sebastien Pouliot <sebastien@ximian.com>
7 * ClientSessionCache.cs: Deal with empty (null) master secret, that
8 can find their ways into the cache, and treat them as invalid. Fix
11 2006-04-10 Sebastien Pouliot <sebastien@ximian.com>
13 * ClientSessionCache.cs: The session id can be zero-length (like our
15 * SslServerStream.cs: Adapt code to fixes made in cipher suite and
16 message processing changes in client code.
18 2006-03-16 Sebastien Pouliot <sebastien@ximian.com>
20 * CipherSuiteFactory.cs: Fix bad key exchange values for non-export
21 cihpers. Most certificates have "too much" usages by default so this
23 * SslStreamBase.cs: Safety net. Throw an exception if we're waiting
24 for more than five (5) minutes for an async read or write to complete.
26 2006-03-16 Sebastien Pouliot <sebastien@ximian.com>
28 * ClientSessionCache.cs: New. Handle a client-side session cache to
29 enable the use of abbreviated handshake whenever possible. This will
30 reduce the number of negotiation (a very CPU intensive process) done
32 * Context.cs: Add a property for AbbreviatedHandshake.
33 * RecordProtocol.cs: Don't send Finished record from ChangeCipherSpec
34 as this won't work if the message flow change.
35 * SslClientStream.cs: Line endings.
36 * SslServerStream.cs: Throw an exception if ReceiveRecord return null
37 or an empty buffer (i.e. communication ended with client). Fix #76254.
38 * SslStreamBase.cs: Re-add synchronous implementations for Read and
40 * TlsCipherSuite.cs: Update the client-side session cache with the
42 * TlsStream.cs: Avoid possible buffer underun reading bytes (found by
45 2006-03-08 Sebastien Pouliot <sebastien@ximian.com>
47 * SslStreamBase.cs: Re-implemented the synchronous versions of Read
48 and Write methods so they don't use the async code.
50 2006-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
52 * SslStreamBase.cs: avoid creating the ManualResetEvent whenever
53 possible. Don't lock on an instance of an object that the user can get.
55 2006-03-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
57 * RecordProtocol.cs: avoid creating the ManualResetEvent whenever
58 possible. Don't lock on an instance of an object that the user can get.
60 2006-03-02 Sebastien Pouliot <sebastien@ximian.com>
62 * RecordProtocol.cs: Fix possible endless loop (#77663). Remove hack
63 for an old, fixed, MCS bug (#67711).
65 2005-10-06 Sebastien Pouliot <sebastien@ximian.com>
67 * ClientRecordProtocol.cs: Update HandshakeMessages after each
68 message. Fix bug #76258.
69 * RecordProtocol.cs: Remove writing into the HandshakeMessages stream
70 at this stage. We may need the data before that. Fix bug #76258.
71 * ServerRecordProtocol.cs: Update HandshakeMessages after each
72 message. Fix bug #76258.
73 * SslServerStream.cs: Changed check for the presence of client
74 certificates during handshake.
76 2005-09-02 Sebastien Pouliot <sebastien@ximian.com>
78 * SslStreamBase.cs, ServerRecordProtocol.cs, SslClientStream.cs,
79 ClientRecordProtocol.cs, RecordProtocol.cs, SslServerStream.cs:
80 Re-written async support for Ssl[Client|Server]Stream from JD Conley
81 <jd.conley@coversant.net> with minor changes. Fix bug #75687 (and a
82 lot of other known problems).
84 2005-07-01 Sebastien Pouliot <sebastien@ximian.com>
86 * ServerContext.cs: Build the list of trusted certificates from all
87 the trusted root for the current user and the local machine.
88 * SslServerStream.cs: Add support for client certificate (and the
89 callback for optional mutual authentication with SSL3).
91 2005-06-22 Sebastien Pouliot <sebastien@ximian.com>
93 * SslClientStream.cs: Removed failsafe timeout of 5 minutes as some
94 protocols can go idle for longer than this.
96 2005-06-14 Sebastien Pouliot <sebastien@ximian.com>
98 * SslClientStream.cs: Add support for _optional_ mutual authentication.
99 SSL3 and TLS1 deals differently with this. SSL3 tested with OpenSSL,
100 TSL1 tested with OpenSSL and LDAPS/AD.
102 2005-06-06 Sebastien Pouliot <sebastien@ximian.com>
104 * Alert.cs: Add NoCertificate (41) which _should_ be used in SSL3
105 if we don't want to send a certificate when requested by a server
106 (e.g. in the case the mutual authentication is optional).
107 * CipherSuite.cs: Fixed recursive property. Changed type to short so
108 it can hold 256 bits (valid value). Fixed ctor so it doesn't assign
111 2005-05-13 Sebastien Pouliot <sebastien@ximian.com>
113 * SslClientStream.cs: Forgot to set the event in the previous fix.
115 2005-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
117 * SslClientStream.cs: check for the dispose in NetworkReadCallback.
118 Patch by Sebastien "Cryptoman" Pouliot.
120 2005-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
122 * SslClientStream.cs: gotta call EndInvoke, not EndRead.
124 2005-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
126 * SslClientStream.cs: MemoryStream does not implement proper Begin*
127 methods, so we need this to prevent infinite recursion if we have a
128 callback that calls BeginRead.
130 2005-04-13 Sebastien Pouliot <sebastien@ximian.com>
132 * RecordProtocol.cs: Some API changes so a record can be decoded from
133 any supplied stream (not just the inner network stream).
134 * SslClientStream.cs: BeginRead is now truly async if the Negotiate is
135 called from BeginWrite (where it should be in most case).
136 * SslServerStream.cs: Adapted to API changes in RecordProtocol.cs.
138 2005-04-12 Sebastien Pouliot <sebastien@ximian.com>
140 * SslHandshakeHash.cs: Changed "SslHash" to "MD5SHA1". Fix #71696.
142 2005-04-10 Sebastien Pouliot <sebastien@ximian.com>
144 * HttpsClientStream.cs: Added a TrustFailure property so a
145 WebException can now report TrustFailure correctly. Fix bug 74286.
147 2005-04-07 Sebastien Pouliot <sebastien@ximian.com>
149 * SslCipherSuite.cs: Fix calculation (sequence number) for the server
150 side stream. Patch by Brian Ritchie.
152 2005-02-04 Sebastien Pouliot <sebastien@ximian.com>
154 * Reverting last changes in SslClientStream and RecordProtocol. This
155 break when sending large files back and forth (echo test).
157 2005-02-02 Sebastien Pouliot <sebastien@ximian.com>
159 * SslClientStream.cs: Throw exception when we receive a null record.
160 * RecordProtocol.cs: Added code to avoid blocking and endless loops
161 if the data is incomplete or missing - even in the case the server
162 side doesn't close the connection (see new cutcli tool).
164 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
166 * CipherSuite.cs: Removed unused MD5 and SHA1 instances created in
167 PRF method (fix compilation warnings).
169 2004-12-13 Sebastien Pouliot <sebastien@ximian.com>
171 * SslClientStream.cs: New internal property, ServerCertificates, to
172 "easily" retreive the server's certificate chain using reflection.
174 2004-11-23 Sebastien Pouliot <sebastien@ximian.com>
176 * RecordProtocol.cs: Fixed ClientHelloV2 support.
178 2004-11-10 Sebastien Pouliot <sebastien@ximian.com>
180 * CipherSuiteFactory.cs: Activated RSA_WITH_AES_256_CBC_SHA as it is
181 supported by some browsers.
182 * ContentType.cs: Removed ClientHelloV2 from the enum as it is not a
183 "true" content type (it just looks so where we're processing it).
184 * Context.cs: Added support to switch protocol (e.g. SSL2->SSL3 or
185 SSL2->TLS1). Contributed by Carlos Guzman Alvarez.
186 * RecordProtocol.cs: Added support for ClientHelloV2 message
187 (contributed by Carlos Guzman Alvarez). This is a Handshake message
188 so it must be MACed. Also fixed the challenge length because some
189 browsers implementation don't interpret "This value must be 32." as
192 2004-10-05 Sebastien Pouliot <sebastien@ximian.com>
194 * SslClientStream.cs: Changed InputBuffer to internal (was protected).
196 2004-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
198 * HttpsClientStream.cs: the .ctor receives a pre-read buffer now.
199 * SslClientStream.cs: added InputBuffer property.
201 2004-09-23 Sebastien Pouliot <sebastien@ximian.com>
203 * RecordProtocol.cs: Fix alert data that could leak into appplication
204 data (e.g. when closing the SSL session).
206 2004-07-14 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
208 * Removed duplicate license header file from
\r
211 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
\r
213 * SslClientStream.cs: Changed lock to "new object()" and not
\r
214 String.Empty (as the read/write locks points becomes the same).
\r
215 * SslServerStream.cs: Changed lock to "new object()" and not
\r
216 String.Empty (as the read/write locks points becomes the same).
\r
218 2004-07-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
\r
220 * HttpsClientStream.cs: get an HttpWebRequest so that we can use the
\r
221 ServicePoint it has. No need to get the host now.
\r
223 2004-05-09 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
225 * Mono.Security.Protocol.Tls/Alert.cs:
\r
226 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
227 * Mono.Security.Protocol.Tls/CipherSuiteCollection.cs:
\r
228 * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
\r
229 * Mono.Security.Protocol.Tls/Context.cs:
\r
230 * Mono.Security.Protocol.Tls/RecordProtocol.cs:
\r
231 * Mono.Security.Protocol.Tls/SecurityCompressionType.cs:
\r
232 * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:
\r
233 * Mono.Security.Protocol.Tls/SslServerStream.cs:
\r
234 * Mono.Security.Protocol.Tls/TlsClientSettings.cs:
\r
236 - Changes for fix FxCop Rules.
\r
238 - Reworked CipherSuiteCollection class.
\r
241 2004-04-21 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
243 * Mono.Security.Protocol.Tls/DebugHelper.cs:
\r
247 * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
\r
248 * Mono.Security.Protocol.Tls/RecordProtocol.cs:
\r
249 * Mono.Security.Protocol.Tls/Context.cs:
\r
250 * Mono.Security.Protocol.Tls/Context.cs:
\r
251 * Mono.Security.Protocol.Tls/SslCipherSuite.cs:
\r
252 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
\r
253 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
255 - Added debug capabilities.
\r
257 * Mono.Security.Protocol.Tls/ServerContext.cs:
\r
259 - Added initialization of requested CertificateTypes and CA's
\r
261 2004-04-16 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
263 * Mono.Security.Protocol.Tls/TlsException.cs:
\r
265 - Make it public until npgsql people can fix their sources.
\r
267 2004-03-19 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
269 * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
\r
271 - Added new CertificateRSA property.
\r
273 - Added new UpdateCertfificateRSA method.
\r
275 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
277 - Removed CertificateRSA() method.
\r
279 2004-03-19 Sebastien Pouliot <sebastien@ximian.com>
\r
281 * CipherSuite.cs: Fixed PRF generation when secret is an odd number of
\r
282 bytes (section 5 in RFC2246).
\r
283 * CipherSuiteFactory.cs: Added algorithms RSA_EXPORT_WITH_RC4_40_MD5,
\r
284 RSA_EXPORT_WITH_RC2_CBC_40_MD5, RSA_EXPORT_WITH_DES40_CBC_SHA,
\r
285 RSA_EXPORT_WITH_RC4_56_MD5, RSA_EXPORT_WITH_RC2_CBC_56_MD5,
\r
286 RSA_EXPORT_WITH_DES_CBC_56_SHA and RSA_EXPORT_WITH_RC4_56_SHA to both
\r
287 SSL3 and TLS1 protocols.
\r
288 * SslCipherSuite.cs: Fixed key generation for exportable ciphers.
\r
289 * TlsCipherSuite.cs: Fixed key generation for exportable ciphers.
\r
291 2004-03-16 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
293 * Mono.Security.Protocol.Tls/SslCipherSuite.cs:
\r
295 - Added changes for allow it to work as server or client.
\r
297 2004-03-15 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
299 * Mono.Security.Protocol.Tls/TlsStream.cs:
\r
300 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
301 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
\r
302 * Mono.Security.Protocol.Tls/SslHandshakeHash.cs:
\r
303 * Mono.Security.Protocol.Tls/RecordProtocol.cs:
\r
305 - Use Buffer.BlockCopy instead of System.Array.Copy
\r
307 2004-03-10 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
309 * Mono.Security.Protocol.Tls/Ciphersuite.cs:
\r
311 - Added generation of the Server encryption algorithms.
\r
313 - Modified encryption/decription methods for work
\r
314 as client or server as needed.
\r
316 * Mono.Security.Protocol.Tls/RecordProtocol.cs:
\r
317 * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
\r
318 * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:
\r
320 - Added new ProcessChangeCipherSpec method.
\r
322 * Mono.Security.Protocol.Tls/Context.cs:
\r
324 - Added new PrintBuffer method ( for debug ).
\r
326 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
327 * Mono.Security.Protocol.Tls/SslServerStream.cs:
\r
329 - Callback cleanup.
\r
331 2004-03-06 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
333 * Mono.Security.Protocol.Tls/SslServerStream.cs:
\r
335 - Initial implementation of the doHandshake method.
\r
337 - Added initial events implementation.
\r
339 * Mono.Security.Protocol.Tls/Ciphersuite.cs:
\r
340 * Mono.Security.Protocol.Tls/TlsCiphersuite.cs:
\r
341 * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
\r
342 * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:
\r
343 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
344 * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
\r
345 * Mono.Security.Protocol.Tls/TlsClientSettings.cs:
\r
346 * Mono.Security.Protocol.Tls/ClientContext.cs:
\r
348 - Changes for make use of the renamed classes and enums.
\r
350 * Mono.Security.Protocol.Tls/TlsContentType.cs:
\r
352 - Renamed to ContentType.cs ( Enum and file )
\r
354 * Mono.Security.Protocol.Tls/TlsCiphersuiteCollection.cs:
\r
356 - Renamed to CiphersuiteCollection.cs ( Class and file )
\r
358 * Mono.Security.Protocol.Tls/TlsCiphersuiteFactory.cs:
\r
360 - Renamed to CiphersuiteCollection.cs ( Class and file )
\r
362 * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
\r
364 - Renamed to SslHandshakeHash.cs ( Class and file )
\r
366 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
368 - Renamed to SslCipherSuite.cs ( Class and file )
\r
370 2004-02-26 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
372 * Mono.Security.Protocol.Tls/HandshakeState.cs:
\r
376 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
377 * Mono.Security.Protocol.Tls/SslServerStream.cs:
\r
378 * Mono.Security.Protocol.Tls/Context.cs:
\r
379 * Mono.Security.Protocol.Tls/ClientContext.cs:
\r
380 * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
\r
382 - Added changes for better handling of ClientHelloRequest messages.
\r
384 2004-02-25 Sebastien Pouliot <sebastien@ximian.com>
\r
386 * HttpsClientStream.cs: New. Internal glue class between System.dll
\r
387 WebConnection and SslClientStream to reduce reflection.
\r
388 * SslClientStream.cs: RaiseServerCertificateValidation is now virtual
\r
389 to allow HttpsClientStream to override it.
\r
391 2004-02-24 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
393 * Mono.Security.Protocol.Tls/RecordProtocol.cs:
\r
394 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
395 * Mono.Security.Protocol.Tls/SslServerStream.cs:
\r
397 - Reimplementation of TLS/SSL Alert Protocol.
\r
399 2004-02-20 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
401 * Mono.Security.Protocol.Tls.Handshake.Client/SslClientCertificate.cs:
\r
403 - Improved exception handling.
\r
405 2004-02-18 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
407 * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
\r
408 * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
\r
409 * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
\r
411 - Added Serializable attribute.
\r
413 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
414 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
\r
415 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
416 * Mono.Security.Protocol.Tls/TlsContext.cs:
\r
418 - Added some optimizations proposed by Sebastien Pouliot.
\r
420 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
\r
422 - Changes on Common Name detection and certificate error handling ( Thanks to Sebastien Pouliot for his feedback ).
\r
424 2004-02-18 Sebastien Pouliot <sebastien@ximian.com>
\r
426 * SslClientStream.cs: Fixed (inverted) condition for ServerCertificate.
\r
427 * SecurityProtocolType.cs: Added [Serializable] to enum to match MS
\r
430 2004-02-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
432 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
434 - Added changes to security properties for check that the handshake is finished.
\r
436 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
438 - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
\r
440 - Reworked the record fragmentation.
\r
442 - Fix for send the close notify alert in the Close method
\r
443 only if the Handshake is fully negotiated.
\r
446 2004-02-16 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
448 * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
\r
450 - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
\r
452 2004-02-15 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
454 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
456 - Added specific control od available data for Network Streams
\r
457 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
\r
459 - Removed test code.
\r
461 2004-02-14 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
463 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
465 - Removed test code.
\r
467 2003-11-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
469 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
471 Removed ReadByte method, use innerStream.ReadByte() method instead.
\r
473 2003-11-13 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
475 * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
\r
477 The next files are no more needed:
\r
481 - TlsNetworkStream.cs
\r
485 - TlsSessionState.cs
\r
487 The next files are renamed:
\r
489 - TlsSessionSettings.cs -> TlsClientSettings.cs
\r
491 - TlsSessionContext.cs -> TlsContext.cs
\r
493 The next files are new:
\r
495 - SslClientStream.cs ( the name is non definitive yet )
\r
497 The next files where changed to reflect the new canges:
\r
499 - TlsHandshakeMessage.cs
\r
501 - TlsClientCertificate.cs
\r
503 - TlsClientCertificateVerify.cs
\r
505 - TlsClientFinished.cs
\r
507 - TlsClientHello.cs
\r
509 - TlsClientKeyExchange.cs
\r
511 - TlsServerCertificate.cs
\r
513 - TlsServerCertificateRequest.cs
\r
515 - TlsServerFinished.cs
\r
517 - TlsServerHello.cs
\r
519 - TlsServerHelloDone.cs
\r
521 - TlsServerKeyExchange.cs
\r
525 - TlsCloseNotifyAlert.cs
\r
528 2003-11-12 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
530 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
\r
532 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
\r
534 * Mono.Security.Protocol.Tls/TlsProtocol.cs:
\r
536 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
\r
538 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
540 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
\r
542 * Mono.Security.Cryptography/TlsCompressionMethod.cs:
\r
544 - Renamed to SecurityCompressionType.
\r
546 * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
\r
547 * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
\r
548 * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
\r
550 - New enumerations that matches .NET 1.2 definitions with some minor differences.
\r
552 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
553 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
\r
554 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
555 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
557 - Added changes for make use of new enumerations.
\r
559 * Mono.Security.Protocol.Tls/TlsClientStream.cs:
\r
561 - Added new informative properties that matches .NET 1.2 SslClientStream
\r
562 ( Not all the properties are implemented yet ).
\r
565 2003-11-10 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
567 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
\r
569 - Fixed invalid alert message.
\r
571 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
572 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
573 * Mono.Security.Cryptography/HMAC.cs:
\r
574 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
575 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
\r
577 - Changed ( Thanks to Sebastién Pouliot for his feedback )
\r
579 SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
\r
580 MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
\r
584 HashAlgorithm sha = SHA1.Create();
\r
585 HashAlgorithm md5 = MD5.Create();
\r
587 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
589 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
591 - Added custom padding for record encryption.
\r
594 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
596 * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
\r
600 * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
\r
602 - New class for handshake hashes calculation on SSL3 protocol.
\r
604 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
606 - Fixed mac keys clearing for SSL3 protocol.
\r
608 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
609 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
\r
611 - Added changes for make use of new TlsSslHandshakeHash class.
\r
613 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
\r
615 - Added initial implementation for SSL3 protocol.
\r
617 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
619 - New class for md5-sha hash calculation.
\r
621 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
\r
622 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
\r
623 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
\r
624 * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:
\r
626 - Make use of new MD5SHA1CryptoServiceProvider class.
\r
628 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
\r
630 - Added initial implementation (not finished).
\r
632 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
\r
634 - Minor change to message processing.
\r
636 - Changed verify method name to verifySignature.
\r
638 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
640 - Changed handshakeHashes member to be an TlsStream.
\r
642 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
644 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
645 * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:
\r
646 * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
\r
647 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
\r
648 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:
\r
649 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
\r
650 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
\r
652 - Added changes for make use of X509 classes from mono.
\r
654 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
656 * Added partial implementation of SSL3 protocol ( not finished yet ).
\r
658 * TlsAbstractCipherSuite.cs: Renamed to CipherSuite.cs.
\r
660 * Removed AssemblyInfo.cs file.
\r
662 2003-10-21 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
664 TlsCipherSuiteFactory.cs: Changed names of private methods.
\r
666 TlsSslCipherSuite.cs: Replaced implementations of key generation methods with a throw new NotSupportedException().
\r
669 2003-10-20 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
671 TlsCupherSuite.cs: Fixed padding length calculation on record encryption.
\r
673 TlsSessionContext.cs: Added new CompressionMethod property.
\r
674 Added new MAX_FRAGMENT_SIZE constant.
\r
676 TlsSession.cs: Removed MaxFragmentSize property.
\r
678 TlsSocket.cs: Replaced use of TlsSesison.MaxFragmentSize by TlsSessionContext.MAX_FAGMENT_SIZE
\r
680 TlsSessionSettings.cs: Added new CompressionMethod property.
\r
682 * Abstracted CipherSuite classes for allow work with other protocol versions.
\r
684 * Added new files :
\r
686 TlsAbstractCipherSuite.cs
\r
688 TlsSslCipherSuite.cs
\r
690 TlsCipherSuiteFactory.cs
\r
692 TlsCompressionMethod.cs
\r
694 * Added new cipher suites definitions based on RFC3268 - (http://www.ietf.org/rfc/rfc3268.txt)
\r
696 * Added two new supported ciphersuites for TLS protocol:
\r
698 TLS_RSA_WITH_AES_256_CBC_SHA
\r
700 TLS_RSA_WITH_AES_128_CBC_SHA
\r
702 * Moved key generation stuff to specific cipher suite classes.
\r
704 2003-10-20 Pedro Martínez Juliá <yoros@wanadoo.es>
\r
706 * AssemblyInfo.cs: commented out KeyFile reference.
\r
708 * TlsSession.cs: changed Math.Pow for System.Math.Pow because of MCS
\r
709 bug with namespace resolving.
\r