be1099e899db8aea8ca292d157414634620ca932
[mono.git] / mcs / class / Mono.Security / Mono.Security.Protocol.Tls.Handshake / ChangeLog
1 2006-09-11  Sebastien Pouliot  <sebastien@ximian.com>
2
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
9         debugging).
10
11 2004-07-14  Carlos Guzman Alvarez  <carlosga@telefonica.net>
12
13         * Updated license head in c# source files for use
14         always the same format.
15
16 2003-11-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
17
18         * Mono.Security.Protocol.Tls/SslClientStream.cs:
19
20                 Removed ReadByte method, use innerStream.ReadByte() method instead.
21
22 2003-11-13 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
23
24         * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
25
26                 The next files are no more needed:
27
28                         - TlsSession.cs
29
30                         - TlsNetworkStream.cs
31
32                         - TlsSocket.cs
33
34                         - TlsSessionState.cs
35
36                 The next files are renamed:
37
38                         - TlsSessionSettings.cs -> TlsClientSettings.cs
39
40                         - TlsSessionContext.cs -> TlsContext.cs
41
42                 The next files are new:
43
44                         - SslClientStream.cs ( the name is non definitive yet )
45
46                 The next files where changed to reflect the new canges:
47
48                         - TlsHandshakeMessage.cs
49
50                         - TlsClientCertificate.cs
51
52                         - TlsClientCertificateVerify.cs
53
54                         - TlsClientFinished.cs
55
56                         - TlsClientHello.cs
57
58                         - TlsClientKeyExchange.cs
59
60                         - TlsServerCertificate.cs
61
62                         - TlsServerCertificateRequest.cs
63
64                         - TlsServerFinished.cs
65
66                         - TlsServerHello.cs
67
68                         - TlsServerHelloDone.cs
69
70                         - TlsServerKeyExchange.cs
71
72                         - TlsAlert.cs
73
74                         - TlsCloseNotifyAlert.cs
75
76                 
77 2003-11-12 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
78
79         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
80         
81                 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
82                 
83         * Mono.Security.Protocol.Tls/TlsProtocol.cs:
84         
85                 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
86         
87         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
88         
89                 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
90                 
91         * Mono.Security.Cryptography/TlsCompressionMethod.cs:
92         
93                 - Renamed to SecurityCompressionType.
94                 
95         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
96         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
97         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
98         
99                 - New enumerations that matches .NET 1.2 definitions with some minor differences.
100         
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:
105         
106                 - Added changes for make use of new enumerations.
107         
108         * Mono.Security.Protocol.Tls/TlsClientStream.cs:
109         
110                 - Added new informative properties that matches .NET 1.2 SslClientStream
111                 ( Not all the properties are implemented yet ).
112
113
114 2003-11-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
115
116         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
117
118                 - Fixed invalid alert message.
119
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:
125
126                 - Changed ( Thanks to Sebastién Pouliot for his feedback )
127
128                         SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
129                         MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
130
131                         to
132
133                         HashAlgorithm sha = SHA1.Create();
134                         HashAlgorithm md5 = MD5.Create(); 
135
136 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
137
138         * Mono.Security.Protocol.Tls/CipherSuite.cs:
139
140                 - Added custom padding for record encryption.
141
142
143 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
144
145         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
146         
147                 - Removed file.
148
149         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
150         
151                 - New class for handshake hashes calculation on SSL3 protocol.
152
153         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
154         
155                 - Fixed mac keys clearing for SSL3 protocol.
156
157         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
158         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
159         
160                 - Added changes for make use of new TlsSslHandshakeHash class.
161         
162         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
163         
164                 - Added initial implementation for SSL3 protocol.
165         
166         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
167         
168                 - New class for md5-sha hash calculation.
169                                                         
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:
174         
175                 - Make use of new MD5SHA1CryptoServiceProvider class.
176                 
177         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
178         
179                 - Added initial implementation (not finished).
180                         
181         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
182         
183                 - Minor change to message processing.
184
185                 - Changed verify method name to verifySignature.
186                         
187         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
188         
189                 - Changed handshakeHashes member to be an TlsStream.
190
191 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
192
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:
200
201                 - Added changes for make use of X509 classes from mono.
202
203 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
204
205         * Added partial implementation of SSL3 protocol ( not finished yet ).