1 2006-09-11 Sebastien Pouliot <sebastien@ximian.com>
3 * HandshakeMessage.cs: EncodeMessage is called very often so we avoid
4 many allocations by not creating a TlsStream and by not calling
5 WriteInt24 (IPAddress.HostToNetworkOrder and BitConverter.GetBytes).
6 We also cache the encoded result to avoid computing/allocating the
7 encoded message twice (in most cases) for the handshake. Added a
8 Compare static method to compare byte arrays (easier to step out when
11 2004-07-14 Carlos Guzman Alvarez <carlosga@telefonica.net>
13 * Updated license head in c# source files for use
14 always the same format.
16 2003-11-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
18 * Mono.Security.Protocol.Tls/SslClientStream.cs:
20 Removed ReadByte method, use innerStream.ReadByte() method instead.
22 2003-11-13 Carlos Guzmán Álvarez <carlosga@telefonica.net>
24 * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
26 The next files are no more needed:
36 The next files are renamed:
38 - TlsSessionSettings.cs -> TlsClientSettings.cs
40 - TlsSessionContext.cs -> TlsContext.cs
42 The next files are new:
44 - SslClientStream.cs ( the name is non definitive yet )
46 The next files where changed to reflect the new canges:
48 - TlsHandshakeMessage.cs
50 - TlsClientCertificate.cs
52 - TlsClientCertificateVerify.cs
54 - TlsClientFinished.cs
58 - TlsClientKeyExchange.cs
60 - TlsServerCertificate.cs
62 - TlsServerCertificateRequest.cs
64 - TlsServerFinished.cs
68 - TlsServerHelloDone.cs
70 - TlsServerKeyExchange.cs
74 - TlsCloseNotifyAlert.cs
77 2003-11-12 Carlos Guzmán Álvarez <carlosga@telefonica.net>
79 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
81 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
83 * Mono.Security.Protocol.Tls/TlsProtocol.cs:
85 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
87 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
89 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
91 * Mono.Security.Cryptography/TlsCompressionMethod.cs:
93 - Renamed to SecurityCompressionType.
95 * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
96 * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
97 * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
99 - New enumerations that matches .NET 1.2 definitions with some minor differences.
101 * Mono.Security.Protocol.Tls/CipherSuite.cs:
102 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
103 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
104 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
106 - Added changes for make use of new enumerations.
108 * Mono.Security.Protocol.Tls/TlsClientStream.cs:
110 - Added new informative properties that matches .NET 1.2 SslClientStream
111 ( Not all the properties are implemented yet ).
114 2003-11-10 Carlos Guzmán Álvarez <carlosga@telefonica.net>
116 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
118 - Fixed invalid alert message.
120 * Mono.Security.Protocol.Tls/CipherSuite.cs:
121 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
122 * Mono.Security.Cryptography/HMAC.cs:
123 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
124 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
126 - Changed ( Thanks to Sebastién Pouliot for his feedback )
128 SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
129 MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
133 HashAlgorithm sha = SHA1.Create();
134 HashAlgorithm md5 = MD5.Create();
136 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
138 * Mono.Security.Protocol.Tls/CipherSuite.cs:
140 - Added custom padding for record encryption.
143 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
145 * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
149 * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
151 - New class for handshake hashes calculation on SSL3 protocol.
153 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
155 - Fixed mac keys clearing for SSL3 protocol.
157 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
158 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
160 - Added changes for make use of new TlsSslHandshakeHash class.
162 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
164 - Added initial implementation for SSL3 protocol.
166 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
168 - New class for md5-sha hash calculation.
170 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
171 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
172 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
173 * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:
175 - Make use of new MD5SHA1CryptoServiceProvider class.
177 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
179 - Added initial implementation (not finished).
181 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
183 - Minor change to message processing.
185 - Changed verify method name to verifySignature.
187 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
189 - Changed handshakeHashes member to be an TlsStream.
191 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
193 * Mono.Security.Protocol.Tls/CipherSuite.cs:
194 * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:
195 * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
196 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
197 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:
198 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
199 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
201 - Added changes for make use of X509 classes from mono.
203 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
205 * Added partial implementation of SSL3 protocol ( not finished yet ).