merge from trunk revisions 58933, 58935, 58936
[mono.git] / mcs / class / Mono.Security / Mono.Security.Protocol.Tls.Handshake.Client / ChangeLog
1 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * TlsClientCertificate.cs: Add support for _optional_ mutual 
4         authentication. SSL3 and TLS1 deals differently with this. SSL3 tested
5         with OpenSSL, TSL1 tested with OpenSSL and LDAPS/AD.
6
7 2005-04-12  Sebastien Pouliot  <sebastien@ximian.com>
8
9         * TlsClientCertificateVerify.cs: Add missing data length (16 bits - 
10         not to be confused with the record 24 bits length) before the RSA
11         signature of the MD5SHA1 hash. Fix #71696.
12
13 2004-05-11 Carlos Guzman Alvarez  <carlosga@telefonica.net>\r
14 \r
15         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:\r
16
17                 - Added fix for better handling of exceptions when
18                 building the X509 Certificate chain.
19
20 2004-04-22  Sebastien Pouliot  <sebastien@ximian.com>
21
22         * TlsClientCertificateVerify.cs: Use Buffer.BlockCopy instead of 
23         Array.Copy.
24         * TlsServerCertificate.cs: Changed KeyUsage to KeyUsages and CertType 
25         to CertTypes.
26
27 2004-03-19  Sebastien Pouliot  <sebastien@ximian.com>
28
29         * TlsClientKeyExchange.cs: Fixed key pair used to encrypt pre-master
30         secret for exportable ciphers - must use the public key received in 
31         ServerKeyExchange.
32
33 2004-03-10 Carlos Guzman Alvarez  <carlosga@telefonica.net>
34
35         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
36         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificateRequest.cs:
37         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
38         * Mono.Security.Protocol.Tls.Handshake.Server/TlsClientCertificateVerify.cs:
39         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerCertificateRequest.cs:
40         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerFinished.cs:
41
42                 - Fixed meesage type definition.
43
44 2004-03-04 Carlos Guzman Alvarez  <carlosga@telefonica.net>
45
46         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerHelloDone.cs:
47         * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerHelloDone.cs:
48
49         - Fixed message type.
50
51 2004-02-26  Sebastien Pouliot  <sebastien@ximian.com>
52
53         * TlsServerCertificate.cs: Certificate validation has been activated.
54
55 2004-02-26 Carlos Guzman Alvarez  <carlosga@telefonica.net>
56
57         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
58
59                 - Added changes for better handling of ClientHelloRequest messages.
60
61 2004-02-21  Carlos Guzman Alvarez  <carlosga@telefonica.net>
62
63     * TlsServerHello: Fix for handle SecurityProtocolType.Default.
64
65 2004-02-20  Sebastien Pouliot  <sebastien@ximian.com>
66
67         * TlsServerCertificate.cs: Added code to validate the server X.509
68         certificate (identity, usage) and it's chain to a trusted root.
69         Note that the verification is commented for the time being.
70
71 2004-02-14 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
72
73     * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
74
75         - Removed test code.
76
77 2003-11-17 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
78
79         * Mono.Security.Protocol.Tls/SslClientStream.cs:
80
81                 Removed ReadByte method, use innerStream.ReadByte() method instead.
82
83 2003-11-13 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
84
85         * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
86
87                 The next files are no more needed:
88
89                         - TlsSession.cs
90
91                         - TlsNetworkStream.cs
92
93                         - TlsSocket.cs
94
95                         - TlsSessionState.cs
96
97                 The next files are renamed:
98
99                         - TlsSessionSettings.cs -> TlsClientSettings.cs
100
101                         - TlsSessionContext.cs -> TlsContext.cs
102
103                 The next files are new:
104
105                         - SslClientStream.cs ( the name is non definitive yet )
106
107                 The next files where changed to reflect the new canges:
108
109                         - TlsHandshakeMessage.cs
110
111                         - TlsClientCertificate.cs
112
113                         - TlsClientCertificateVerify.cs
114
115                         - TlsClientFinished.cs
116
117                         - TlsClientHello.cs
118
119                         - TlsClientKeyExchange.cs
120
121                         - TlsServerCertificate.cs
122
123                         - TlsServerCertificateRequest.cs
124
125                         - TlsServerFinished.cs
126
127                         - TlsServerHello.cs
128
129                         - TlsServerHelloDone.cs
130
131                         - TlsServerKeyExchange.cs
132
133                         - TlsAlert.cs
134
135                         - TlsCloseNotifyAlert.cs
136
137                 
138 2003-11-12 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
139
140         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
141         
142                 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
143                 
144         * Mono.Security.Protocol.Tls/TlsProtocol.cs:
145         
146                 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
147         
148         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
149         
150                 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
151                 
152         * Mono.Security.Cryptography/TlsCompressionMethod.cs:
153         
154                 - Renamed to SecurityCompressionType.
155                 
156         * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
157         * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
158         * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
159         
160                 - New enumerations that matches .NET 1.2 definitions with some minor differences.
161         
162         * Mono.Security.Protocol.Tls/CipherSuite.cs:
163         * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
164         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
165         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
166         
167                 - Added changes for make use of new enumerations.
168         
169         * Mono.Security.Protocol.Tls/TlsClientStream.cs:
170         
171                 - Added new informative properties that matches .NET 1.2 SslClientStream
172                 ( Not all the properties are implemented yet ).
173
174
175 2003-11-10 Carlos Guzmán Álvarez  <carlosga@telefonica.net>
176
177         * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
178
179                 - Fixed invalid alert message.
180
181         * Mono.Security.Protocol.Tls/CipherSuite.cs:
182         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
183         * Mono.Security.Cryptography/HMAC.cs:
184         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
185         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
186
187                 - Changed ( Thanks to Sebastién Pouliot for his feedback )
188
189                         SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
190                         MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
191
192                         to
193
194                         HashAlgorithm sha = SHA1.Create();
195                         HashAlgorithm md5 = MD5.Create(); 
196
197 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
198
199         * Mono.Security.Protocol.Tls/CipherSuite.cs:
200
201                 - Added custom padding for record encryption.
202
203
204 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
205
206         * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
207         
208                 - Removed file.
209
210         * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
211         
212                 - New class for handshake hashes calculation on SSL3 protocol.
213
214         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
215         
216                 - Fixed mac keys clearing for SSL3 protocol.
217
218         * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
219         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
220         
221                 - Added changes for make use of new TlsSslHandshakeHash class.
222         
223         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
224         
225                 - Added initial implementation for SSL3 protocol.
226         
227         * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
228         
229                 - New class for md5-sha hash calculation.
230                                                         
231         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
232         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
233         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
234         * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:
235         
236                 - Make use of new MD5SHA1CryptoServiceProvider class.
237                 
238         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
239         
240                 - Added initial implementation (not finished).
241                         
242         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
243         
244                 - Minor change to message processing.
245
246                 - Changed verify method name to verifySignature.
247                         
248         * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
249         
250                 - Changed handshakeHashes member to be an TlsStream.
251
252 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
253
254         * Mono.Security.Protocol.Tls/CipherSuite.cs:
255         * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:
256         * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
257         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
258         * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:
259         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
260         * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
261
262                 - Added changes for make use of X509 classes from mono.
263
264 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
265
266         * Added partial implementation of SSL3 protocol ( not finished yet ).