1 2004-02-18 Sebastien Pouliot <sebastien@ximian.com>
3 * SslClientStream.cs: Fixed (inverted) condition for ServerCertificate.
4 * SecurityProtocolType.cs: Added [Serializable] to enum to match MS
7 2004-02-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
9 * Mono.Security.Protocol.Tls/SslClientStream.cs:
11 - Added changes to security properties for check that the handshake is finished.
13 * Mono.Security.Protocol.Tls/SslClientStream.cs:
15 - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
17 - Reworked the record fragmentation.
19 - Fix for send the close notify alert in the Close method
20 only if the Handshake is fully negotiated.
23 2004-02-16 Carlos Guzmán Álvarez <carlosga@telefonica.net>
25 * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
27 - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
29 2004-02-15 Carlos Guzmán Álvarez <carlosga@telefonica.net>
31 * Mono.Security.Protocol.Tls/SslClientStream.cs:
33 - Added specific control od available data for Network Streams
34 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
38 2004-02-14 Carlos Guzmán Álvarez <carlosga@telefonica.net>
40 * Mono.Security.Protocol.Tls/SslClientStream.cs:
44 2003-11-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
46 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
48 Removed ReadByte method, use innerStream.ReadByte() method instead.
\r
50 2003-11-13 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
52 * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
\r
54 The next files are no more needed:
\r
58 - TlsNetworkStream.cs
\r
62 - TlsSessionState.cs
\r
64 The next files are renamed:
\r
66 - TlsSessionSettings.cs -> TlsClientSettings.cs
\r
68 - TlsSessionContext.cs -> TlsContext.cs
\r
70 The next files are new:
\r
72 - SslClientStream.cs ( the name is non definitive yet )
\r
74 The next files where changed to reflect the new canges:
\r
76 - TlsHandshakeMessage.cs
\r
78 - TlsClientCertificate.cs
\r
80 - TlsClientCertificateVerify.cs
\r
82 - TlsClientFinished.cs
\r
86 - TlsClientKeyExchange.cs
\r
88 - TlsServerCertificate.cs
\r
90 - TlsServerCertificateRequest.cs
\r
92 - TlsServerFinished.cs
\r
96 - TlsServerHelloDone.cs
\r
98 - TlsServerKeyExchange.cs
\r
102 - TlsCloseNotifyAlert.cs
\r
105 2003-11-12 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
107 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
\r
109 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
\r
111 * Mono.Security.Protocol.Tls/TlsProtocol.cs:
\r
113 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
\r
115 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
117 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
\r
119 * Mono.Security.Cryptography/TlsCompressionMethod.cs:
\r
121 - Renamed to SecurityCompressionType.
\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
127 - New enumerations that matches .NET 1.2 definitions with some minor differences.
\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
134 - Added changes for make use of new enumerations.
\r
136 * Mono.Security.Protocol.Tls/TlsClientStream.cs:
\r
138 - Added new informative properties that matches .NET 1.2 SslClientStream
\r
139 ( Not all the properties are implemented yet ).
\r
142 2003-11-10 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
144 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
\r
146 - Fixed invalid alert message.
\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
154 - Changed ( Thanks to Sebastién Pouliot for his feedback )
\r
156 SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
\r
157 MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
\r
161 HashAlgorithm sha = SHA1.Create();
\r
162 HashAlgorithm md5 = MD5.Create();
\r
164 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
166 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
168 - Added custom padding for record encryption.
\r
171 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
173 * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
\r
177 * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
\r
179 - New class for handshake hashes calculation on SSL3 protocol.
\r
181 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
183 - Fixed mac keys clearing for SSL3 protocol.
\r
185 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
\r
186 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
\r
188 - Added changes for make use of new TlsSslHandshakeHash class.
\r
190 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
\r
192 - Added initial implementation for SSL3 protocol.
\r
194 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
\r
196 - New class for md5-sha hash calculation.
\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
203 - Make use of new MD5SHA1CryptoServiceProvider class.
\r
205 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
\r
207 - Added initial implementation (not finished).
\r
209 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
\r
211 - Minor change to message processing.
\r
213 - Changed verify method name to verifySignature.
\r
215 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
\r
217 - Changed handshakeHashes member to be an TlsStream.
\r
219 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\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
229 - Added changes for make use of X509 classes from mono.
\r
231 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
233 * Added partial implementation of SSL3 protocol ( not finished yet ).
\r
235 * TlsAbstractCipherSuite.cs: Renamed to CipherSuite.cs.
\r
237 * Removed AssemblyInfo.cs file.
\r
239 2003-10-21 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
241 TlsCipherSuiteFactory.cs: Changed names of private methods.
\r
243 TlsSslCipherSuite.cs: Replaced implementations of key generation methods with a throw new NotSupportedException().
\r
246 2003-10-20 Carlos Guzmán Álvarez <carlosga@telefonica.net>
\r
248 TlsCupherSuite.cs: Fixed padding length calculation on record encryption.
\r
250 TlsSessionContext.cs: Added new CompressionMethod property.
\r
251 Added new MAX_FRAGMENT_SIZE constant.
\r
253 TlsSession.cs: Removed MaxFragmentSize property.
\r
255 TlsSocket.cs: Replaced use of TlsSesison.MaxFragmentSize by TlsSessionContext.MAX_FAGMENT_SIZE
\r
257 TlsSessionSettings.cs: Added new CompressionMethod property.
\r
259 * Abstracted CipherSuite classes for allow work with other protocol versions.
\r
261 * Added new files :
\r
263 TlsAbstractCipherSuite.cs
\r
265 TlsSslCipherSuite.cs
\r
267 TlsCipherSuiteFactory.cs
\r
269 TlsCompressionMethod.cs
\r
271 * Added new cipher suites definitions based on RFC3268 - (http://www.ietf.org/rfc/rfc3268.txt)
\r
273 * Added two new supported ciphersuites for TLS protocol:
\r
275 TLS_RSA_WITH_AES_256_CBC_SHA
\r
277 TLS_RSA_WITH_AES_128_CBC_SHA
\r
279 * Moved key generation stuff to specific cipher suite classes.
\r
281 2003-10-20 Pedro Martínez Juliá <yoros@wanadoo.es>
\r
283 * AssemblyInfo.cs: commented out KeyFile reference.
\r
285 * TlsSession.cs: changed Math.Pow for System.Math.Pow because of MCS
\r
286 bug with namespace resolving.
\r