1 2004-02-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
3 * Mono.Security.Protocol.Tls/SslClientStream.cs:
5 - Added changes to security properties for check that the handshake is finished.
7 * Mono.Security.Protocol.Tls/SslClientStream.cs:
9 - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
11 - Reworked the record fragmentation.
13 - Fix for send the close notify alert in the Close method
14 only if the Handshake is fully negotiated.
17 2004-02-16 Carlos Guzmán Álvarez <carlosga@telefonica.net>
19 * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
21 - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
23 2004-02-15 Carlos Guzmán Álvarez <carlosga@telefonica.net>
25 * Mono.Security.Protocol.Tls/SslClientStream.cs:
27 - Added specific control od available data for Network Streams
28 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
32 2004-02-14 Carlos Guzmán Álvarez <carlosga@telefonica.net>
34 * Mono.Security.Protocol.Tls/SslClientStream.cs:
38 2003-11-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
40 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
42 Removed ReadByte method, use innerStream.ReadByte() method instead.
\r
44 2003-11-13 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
46 * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
\r
48 The next files are no more needed:
\r
52 - TlsNetworkStream.cs
\r
56 - TlsSessionState.cs
\r
58 The next files are renamed:
\r
60 - TlsSessionSettings.cs -> TlsClientSettings.cs
\r
62 - TlsSessionContext.cs -> TlsContext.cs
\r
64 The next files are new:
\r
66 - SslClientStream.cs ( the name is non definitive yet )
\r
68 The next files where changed to reflect the new canges:
\r
70 - TlsHandshakeMessage.cs
\r
72 - TlsClientCertificate.cs
\r
74 - TlsClientCertificateVerify.cs
\r
76 - TlsClientFinished.cs
\r
80 - TlsClientKeyExchange.cs
\r
82 - TlsServerCertificate.cs
\r
84 - TlsServerCertificateRequest.cs
\r
86 - TlsServerFinished.cs
\r
90 - TlsServerHelloDone.cs
\r
92 - TlsServerKeyExchange.cs
\r
96 - TlsCloseNotifyAlert.cs
\r
99 2003-11-12 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
101 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
\r
103 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
\r
105 * Mono.Security.Protocol.Tls/TlsProtocol.cs:
\r
107 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
\r
109 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
111 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
\r
113 * Mono.Security.Cryptography/TlsCompressionMethod.cs:
\r
115 - Renamed to SecurityCompressionType.
\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
121 - New enumerations that matches .NET 1.2 definitions with some minor differences.
\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
128 - Added changes for make use of new enumerations.
\r
130 * Mono.Security.Protocol.Tls/TlsClientStream.cs:
\r
132 - Added new informative properties that matches .NET 1.2 SslClientStream
\r
133 ( Not all the properties are implemented yet ).
\r
136 2003-11-10 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
138 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
\r
140 - Fixed invalid alert message.
\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
148 - Changed ( Thanks to Sebastién Pouliot for his feedback )
\r
150 SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
\r
151 MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
\r
155 HashAlgorithm sha = SHA1.Create();
\r
156 HashAlgorithm md5 = MD5.Create();
\r
158 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
160 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
162 - Added custom padding for record encryption.
\r
165 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
167 * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
\r
171 * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
\r
173 - New class for handshake hashes calculation on SSL3 protocol.
\r
175 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
177 - Fixed mac keys clearing for SSL3 protocol.
\r
179 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
180 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
\r
182 - Added changes for make use of new TlsSslHandshakeHash class.
\r
184 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
\r
186 - Added initial implementation for SSL3 protocol.
\r
188 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
190 - New class for md5-sha hash calculation.
\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
197 - Make use of new MD5SHA1CryptoServiceProvider class.
\r
199 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
\r
201 - Added initial implementation (not finished).
\r
203 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
\r
205 - Minor change to message processing.
\r
207 - Changed verify method name to verifySignature.
\r
209 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
211 - Changed handshakeHashes member to be an TlsStream.
\r
213 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\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
223 - Added changes for make use of X509 classes from mono.
\r
225 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
227 * Added partial implementation of SSL3 protocol ( not finished yet ).
\r
229 * TlsAbstractCipherSuite.cs: Renamed to CipherSuite.cs.
\r
231 * Removed AssemblyInfo.cs file.
\r
233 2003-10-21 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
235 TlsCipherSuiteFactory.cs: Changed names of private methods.
\r
237 TlsSslCipherSuite.cs: Replaced implementations of key generation methods with a throw new NotSupportedException().
\r
240 2003-10-20 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
242 TlsCupherSuite.cs: Fixed padding length calculation on record encryption.
\r
244 TlsSessionContext.cs: Added new CompressionMethod property.
\r
245 Added new MAX_FRAGMENT_SIZE constant.
\r
247 TlsSession.cs: Removed MaxFragmentSize property.
\r
249 TlsSocket.cs: Replaced use of TlsSesison.MaxFragmentSize by TlsSessionContext.MAX_FAGMENT_SIZE
\r
251 TlsSessionSettings.cs: Added new CompressionMethod property.
\r
253 * Abstracted CipherSuite classes for allow work with other protocol versions.
\r
255 * Added new files :
\r
257 TlsAbstractCipherSuite.cs
\r
259 TlsSslCipherSuite.cs
\r
261 TlsCipherSuiteFactory.cs
\r
263 TlsCompressionMethod.cs
\r
265 * Added new cipher suites definitions based on RFC3268 - (http://www.ietf.org/rfc/rfc3268.txt)
\r
267 * Added two new supported ciphersuites for TLS protocol:
\r
269 TLS_RSA_WITH_AES_256_CBC_SHA
\r
271 TLS_RSA_WITH_AES_128_CBC_SHA
\r
273 * Moved key generation stuff to specific cipher suite classes.
\r
275 2003-10-20 Pedro Martínez Juliá <yoros@wanadoo.es>
\r
277 * AssemblyInfo.cs: commented out KeyFile reference.
\r
279 * TlsSession.cs: changed Math.Pow for System.Math.Pow because of MCS
\r
280 bug with namespace resolving.
\r