1 2005-06-14 Sebastien Pouliot <sebastien@ximian.com>
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.
7 2005-04-12 Sebastien Pouliot <sebastien@ximian.com>
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.
13 2004-05-11 Carlos Guzman Alvarez <carlosga@telefonica.net>
\r
15 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
\r
17 - Added fix for better handling of exceptions when
18 building the X509 Certificate chain.
20 2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
22 * TlsClientCertificateVerify.cs: Use Buffer.BlockCopy instead of
24 * TlsServerCertificate.cs: Changed KeyUsage to KeyUsages and CertType
27 2004-03-19 Sebastien Pouliot <sebastien@ximian.com>
29 * TlsClientKeyExchange.cs: Fixed key pair used to encrypt pre-master
30 secret for exportable ciphers - must use the public key received in
33 2004-03-10 Carlos Guzman Alvarez <carlosga@telefonica.net>
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:
42 - Fixed meesage type definition.
44 2004-03-04 Carlos Guzman Alvarez <carlosga@telefonica.net>
46 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerHelloDone.cs:
47 * Mono.Security.Protocol.Tls.Handshake.Server/TlsServerHelloDone.cs:
51 2004-02-26 Sebastien Pouliot <sebastien@ximian.com>
53 * TlsServerCertificate.cs: Certificate validation has been activated.
55 2004-02-26 Carlos Guzman Alvarez <carlosga@telefonica.net>
57 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
59 - Added changes for better handling of ClientHelloRequest messages.
61 2004-02-21 Carlos Guzman Alvarez <carlosga@telefonica.net>
63 * TlsServerHello: Fix for handle SecurityProtocolType.Default.
65 2004-02-20 Sebastien Pouliot <sebastien@ximian.com>
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.
71 2004-02-14 Carlos Guzmán Álvarez <carlosga@telefonica.net>
73 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
77 2003-11-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
79 * Mono.Security.Protocol.Tls/SslClientStream.cs:
81 Removed ReadByte method, use innerStream.ReadByte() method instead.
83 2003-11-13 Carlos Guzmán Álvarez <carlosga@telefonica.net>
85 * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
87 The next files are no more needed:
97 The next files are renamed:
99 - TlsSessionSettings.cs -> TlsClientSettings.cs
101 - TlsSessionContext.cs -> TlsContext.cs
103 The next files are new:
105 - SslClientStream.cs ( the name is non definitive yet )
107 The next files where changed to reflect the new canges:
109 - TlsHandshakeMessage.cs
111 - TlsClientCertificate.cs
113 - TlsClientCertificateVerify.cs
115 - TlsClientFinished.cs
119 - TlsClientKeyExchange.cs
121 - TlsServerCertificate.cs
123 - TlsServerCertificateRequest.cs
125 - TlsServerFinished.cs
129 - TlsServerHelloDone.cs
131 - TlsServerKeyExchange.cs
135 - TlsCloseNotifyAlert.cs
138 2003-11-12 Carlos Guzmán Álvarez <carlosga@telefonica.net>
140 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
142 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
144 * Mono.Security.Protocol.Tls/TlsProtocol.cs:
146 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
148 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
150 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
152 * Mono.Security.Cryptography/TlsCompressionMethod.cs:
154 - Renamed to SecurityCompressionType.
156 * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
157 * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
158 * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
160 - New enumerations that matches .NET 1.2 definitions with some minor differences.
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:
167 - Added changes for make use of new enumerations.
169 * Mono.Security.Protocol.Tls/TlsClientStream.cs:
171 - Added new informative properties that matches .NET 1.2 SslClientStream
172 ( Not all the properties are implemented yet ).
175 2003-11-10 Carlos Guzmán Álvarez <carlosga@telefonica.net>
177 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
179 - Fixed invalid alert message.
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:
187 - Changed ( Thanks to Sebastién Pouliot for his feedback )
189 SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
190 MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
194 HashAlgorithm sha = SHA1.Create();
195 HashAlgorithm md5 = MD5.Create();
197 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
199 * Mono.Security.Protocol.Tls/CipherSuite.cs:
201 - Added custom padding for record encryption.
204 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
206 * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
210 * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
212 - New class for handshake hashes calculation on SSL3 protocol.
214 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
216 - Fixed mac keys clearing for SSL3 protocol.
218 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
219 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
221 - Added changes for make use of new TlsSslHandshakeHash class.
223 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
225 - Added initial implementation for SSL3 protocol.
227 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
229 - New class for md5-sha hash calculation.
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:
236 - Make use of new MD5SHA1CryptoServiceProvider class.
238 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
240 - Added initial implementation (not finished).
242 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
244 - Minor change to message processing.
246 - Changed verify method name to verifySignature.
248 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
250 - Changed handshakeHashes member to be an TlsStream.
252 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
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:
262 - Added changes for make use of X509 classes from mono.
264 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
266 * Added partial implementation of SSL3 protocol ( not finished yet ).