1 2004-02-23 Carlos Guzman Alvarez <carlosga@telefonica.net>
3 * Mono.Security.Protocol.Tls/TlsContext.cs:
5 - Removed file, implementation is now present in:
11 * Mono.Security.Protocol.Tls/Context.cs:
12 * Mono.Security.Protocol.Tls/ClientContext.cs:
13 * Mono.Security.Protocol.Tls/ServerContext.cs:
14 * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs:
18 * Mono.Security.Protocol.Tls/SslServerStream.cs:
20 - Added implementation for properties, and read/write methods
21 as in SslClientStream.
23 - doHandshake method is not implemented yet.
25 * Mono.Security.Protocol.Tls/SslClientStream.cs:
26 * Mono.Security.Protocol.Tls/RecordProtocol.cs:
27 * Mono.Security.Protocol.Tls/Ciphersuite.cs:
28 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
29 * Mono.Security.Protocol.Tls.Alerts/TlsCloseNotifyAlert.cs:
30 * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessage.cs:
31 * Mono.Security.Protocol.Tls.Handshake.Client/*.cs:
33 - Added changes for make use of the new Context implementation.
35 * Mono.Security.Protocol.Tls.Handshake.Server/*.cs:
37 - New classes with method signatures only for the server handshake
40 2004-02-21 Carlos Guzman Alvarez <carlosga@telefonica.net>
42 * TlsServerHello: Fix for handle SecurityProtocolType.Default.
44 2004-02-20 Sebastien Pouliot <sebastien@ximian.com>
46 * Mono.Security.dll.sources: Added new file X509ChainStatusFlags in
47 Mono.Security.X509 namespace.
49 2004-02-20 Carlos Guzmán Álvarez <carlosga@telefonica.net>
51 * Mono.Security.Protocol.Tls/SslClientStream.cs:
\r
52 * Mono.Security.Protocol.Tls/RecordProtocol.cs:
\r
53 * Mono.Security.Protocol.Tls/TlsContext.cs:
\r
55 - Added changes for handle te SecurityProtocolType enum
\r
58 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientHello.cs:
\r
60 - Let the Ssl3 message to be process in the same way as the Tls1.
\r
62 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientHello.cs:
\r
64 - Added changes for use the Protocol version send by the server
\r
66 * Mono.Security.Protocol.Tls/CipherSuite.cs:
\r
68 - Compute the premaster secret using the protocol version sent in
\r
69 the ClientHello message instead of the actual protocol version.
71 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
73 - Commented the server cert validation.
75 * Mono.Security.Protocol.Tls.Alerts/TlsWarningEventAgrs.cs:
77 - Removed no more needed file.
79 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
81 - Added 4 new properties:
91 - Return always the same message when working in release mode
92 (The authentication or decryption has failed.)
94 * Mono.Security.Protocol.Tls/SslClientStream.cs:
96 - Changes to the sync code.
98 - Record protocol stuff moved to the new classes.
100 - Removed Warning event.
102 - Added control over the CloseNotify Alert
105 - Return true in the server certificate validation method
106 if there are no errors.
108 * Mono.Security.Protocol.Tls/RecordProtocol.cs:
109 * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:
111 - New classes for handle the SSL/TLS record protocol.
113 2004-02-18 Carlos Guzmán Álvarez <carlosga@telefonica.net>
115 * Mono.Security.Protocol.Tls/SslClientStream.cs:
117 - Implement CheckCertRevocationStatus ( not used yet )
119 * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
120 * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
121 * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
123 - Added Serializable attribute.
125 * Mono.Security.Protocol.Tls/CipherSuite.cs:
126 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
127 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
128 * Mono.Security.Protocol.Tls/TlsContext.cs:
130 - Added some optimizations proposed by Sebastien Pouliot.
132 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
134 - Changes on Common Name detection and certificate error handling ( Thanks to Sebastien Pouliot for his feedback ).
136 2004-02-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
138 * Mono.Security.Protocol.Tls/SslClientStream.cs:
140 - Added changes to security properties for check that the handshake is finished.
142 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:
144 - Raise the Client Certificate event.
146 * Mono.Security.Protocol.Tls/CipherSuite.cs:
147 * Mono.Security.Protocol.Tls/SslClientStream.cs:
148 * Mono.Security.Protocol.Tls/SecurityProtocolType.cs:
149 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
150 * Mono.Security.Protocol.Tls/TlsCipherSuiteCollection.cs:
151 * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
152 * Mono.Security.Protocol.Tls/TlsContext.cs:
153 * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessage.cs:
154 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientHello.cs:
156 - Change the SecurityProtocolType enum to mtch .NET 1.2 documentation definition.
158 * Mono.Security.Protocol.Tls/SslClientStream.cs:
160 - Impement SelectedClientCertificate and ServerCertificate properties.
162 * Mono.Security.Protocol.Tls/SslClientStream.cs:
164 - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot )
166 - Reworked the record fragmentation.
168 - Fix for send the close notify alert in the Close method
169 only if the Handshake is fully negotiated.
171 2004-02-16 Carlos Guzmán Álvarez <carlosga@telefonica.net>
173 * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
175 - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ).
177 2004-02-15 Carlos Guzmán Álvarez <carlosga@te...>
179 * Mono.Security.Protocol.Tls/SslClientStream.cs:
181 - Added specific control od available data for Network Streams
182 on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ).
186 2004-02-14 Carlos Guzmán Álvarez <carlosga@telefonica.net>
188 * Mono.Security.Protocol.Tls/SslClientStream.cs:
192 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
196 2004-02-13 Sebastien Pouliot <sebastien@ximian.com>
198 * Mono.Security.dll.sources: Added Diffie-Hellman contribution from
199 Pieter Philippaerts (mentalis.org) to Mono.Security.Cryptography.
200 * Mono.Security_test.dll.sources: Added Diffie-Hellman unit tests.
202 2004-02-10 Carlos Guzmán Álvarez <carlosga@telefonica.net>
204 * Mono.Security.Cryptography/PKCS1.cs:
206 - Added little change for allow the class to be used with
207 hash implementations that doesn't have an oid like the MD5SHA1 hash.
209 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
211 - Throw exception if the Private Key is null.
213 * Mono.Security.Protocol.Tls/SslServerStream.cs:
215 - Ssl Server class without implementation ( methods signatures only )
216 That matches the described in the .NET 1.2 documentation.
218 2004-02-09 Sebastien Pouliot <sebastien@ximian.com>
220 * Mono.Security_test.dll.sources Added Mono.Math BigInteger unit test
221 to the build (as they cannot be executed with corlib).
223 2004-02-09 Carlos Guzmán Álvarez <carlosga@telefonica.net>
225 * Changed the license header to all the sources files
228 * Mono.Security.Protocol.Tls/TlsSessionState.cs:
232 * Mono.Security.Protocol.Tls/SslClientStream.cs:
234 - Try to improve record reading.
236 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificate.cs:
238 - Send always the first certificate.
240 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
242 - Added changes for correct verification of the signed data sent
245 * Mono.Security.Cryptography/PKCS1.cs:
247 - Added change to Encode_v15 method for allow correct
248 encoding of hash algorithms that doesn't have an OID
249 like the MD5SHA1 hash used in SSL/TLS protocols.
251 * Added files from mono:: project that are going to be needed
252 for client authentication:
258 Mono.Math.Prime.Generator/*
260 Mono.Security.Cryptography/RSAManaged.cs
262 * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
264 - Create RSA as an RSAManaged instance.
266 * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
267 * Mono.Security.Protocol.Tls/RSASslSignatureDeformatter.cs:
269 - Changed key field to be of RSA type.
271 * Mono.Security.Protocol.Tls/RSASslSignatureFormatter.cs:
272 * Mono.Security.Protocol.Tls/RSASslSignatureDeformatter.cs:
274 - Added new classes for implement in the future RSA-SSL signatures.
276 * Changed #region names in all source files.
278 * Mono.Security.Protocol.Handshake.Client/TlsServerCertificate.cs:
280 - Fixed message (but not working yet - we need RSA signing
281 capabilitites with MD5SHA1 hash).
283 * Mono.Security.Protocol.Handshake.Client/TlsServerCertificate.cs:
285 - Retrict certificate validation to the first validation.
286 ( real validation needs to be made using a chain )
288 - Improved domain validation by making a IP checking between
289 the target host IP and the certificate domain IP.
291 - Fixed error list handling on certificate validation.
293 * Mono.Security.Protocol.Tls/SslClientStream.cs:
295 - Added new exceptions.
298 2004-02-06 Sebastien Pouliot <sebastien@ximian.com>
300 * Mono.Security.dll.sources: Added KeyPairPersistence and it's
301 dependencies in Mono.Xml (MiniParser and SecurityParser). Also
302 added CryptoTools and SymmetricTransforms in Mono.Sec.Crypt.
303 * Mono.Security_test.dll.sources: Added unit tests for
306 2003-12-07 Sebastien Pouliot <spouliot@videotron.ca>
308 * Mono.Security.dll.sources: Added PKCS#12 support for X.509 certificates.
309 * Mono.Security_test.dll.sources: Added unit tests for PKCS#12.
311 2003-12-01 Sebastien Pouliot <spouliot@videotron.ca>
313 * Mono.Security.dll.sources: Added Mono.Security.Protocol.Ntlm namespace
314 * Mono.Security_test.dll.sources: Added Mono.Security.Protocol.Ntlm unit
317 2003-11-27 Sebastien Pouliot <spouliot@videotron.ca>
319 * Mono.Security.dll.sources: Added MD4, MD4Managed and PKCS8 to build.
320 * Mono.Security_test.dll.sources: Added unit tests for MD4, MD4Managed
323 2003-11-22 Carlos Guzman Alvarez <carlosga@telefonica.net>
325 * Changed line endings to unix format in SSL/TLS sources.
327 * Mono.Security.CryptographyoHMD5SHA1CryptoServiceProvider.cs:
329 - Removed file (now it's called MD5SHA1.cs)
331 * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs:
333 - Removed comments from AES ciphersuites.
336 2003-11-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
338 * Mono.Security.Protocol.Tls/SslClientStream.cs:
340 Removed ReadByte method, use innerStream.ReadByte() method instead.
342 2003-11-13 Carlos Guzmán Álvarez <carlosga@telefonica.net>
344 * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation.
346 The next files are no more needed:
350 - TlsNetworkStream.cs
356 The next files are renamed:
358 - TlsSessionSettings.cs -> TlsClientSettings.cs
360 - TlsSessionContext.cs -> TlsContext.cs
362 The next files are new:
364 - SslClientStream.cs ( the name is non definitive yet )
366 The next files where changed to reflect the new canges:
368 - TlsHandshakeMessage.cs
370 - TlsClientCertificate.cs
372 - TlsClientCertificateVerify.cs
374 - TlsClientFinished.cs
378 - TlsClientKeyExchange.cs
380 - TlsServerCertificate.cs
382 - TlsServerCertificateRequest.cs
384 - TlsServerFinished.cs
388 - TlsServerHelloDone.cs
390 - TlsServerKeyExchange.cs
394 - TlsCloseNotifyAlert.cs
397 2003-11-12 Carlos Guzmán Álvarez <carlosga@telefonica.net>
399 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
401 - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. )
403 * Mono.Security.Protocol.Tls/TlsProtocol.cs:
405 - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 )
407 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
409 - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. )
411 * Mono.Security.Cryptography/TlsCompressionMethod.cs:
413 - Renamed to SecurityCompressionType.
415 * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs:
416 * Mono.Security.Protocol.Tls/HashAlgorithmType.cs:
417 * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs:
419 - New enumerations that matches .NET 1.2 definitions with some minor differences.
421 * Mono.Security.Protocol.Tls/CipherSuite.cs:
422 * Mono.Security.Protocol.Tls/TlsCipherSuite.cs:
423 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
424 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
426 - Added changes for make use of new enumerations.
428 * Mono.Security.Protocol.Tls/TlsClientStream.cs:
430 - Added new informative properties that matches .NET 1.2 SslClientStream
431 ( Not all the properties are implemented yet ).
434 2003-11-10 Carlos Guzmán Álvarez <carlosga@telefonica.net>
436 * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs:
438 - Fixed invalid alert message.
440 * Mono.Security.Protocol.Tls/CipherSuite.cs:
441 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
442 * Mono.Security.Cryptography/HMAC.cs:
443 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
444 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
446 - Changed ( Thanks to Sebastién Pouliot for his feedback )
448 SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
449 MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider();
453 HashAlgorithm sha = SHA1.Create();
454 HashAlgorithm md5 = MD5.Create();
457 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
459 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
461 - Commented server certificate signature verification.
463 * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
465 - Renamed ServerCertificates property to Certificates.
468 2003-11-04 Carlos Guzmán Álvarez (carlosga@telefonica.net)
470 * Updated SSL/TLS implementation files with unix like line endings.
472 2003-11-04 Carlos Guzmán Álvarez <carlosga@telefonica.net>
474 * Mono.Security.Protocol.Tls/CipherSuite.cs:
476 - Added custom padding for record encryption.
479 2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
481 * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs:
485 * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs:
487 - New class for handshake hashes calculation on SSL3 protocol.
489 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
491 - Fixed mac keys clearing for SSL3 protocol.
493 * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs:
494 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
496 - Added changes for make use of new TlsSslHandshakeHash class.
498 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
500 - Added initial implementation for SSL3 protocol.
502 * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs:
504 - New class for md5-sha hash calculation.
506 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs:
507 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
508 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
509 * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs:
511 - Make use of new MD5SHA1CryptoServiceProvider class.
513 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
515 - Added initial implementation (not finished).
517 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
519 - Minor change to message processing.
521 - Changed verify method name to verifySignature.
523 * Mono.Security.Protocol.Tls/TlsSessionContext.cs:
525 - Changed handshakeHashes member to be an TlsStream.
527 2003-10-28 Carlos Guzmán Álvarez <carlosga@telefonica.net>
529 * Mono.Security.Protocol.Tls/CipherSuite.cs:
530 * Mono.Security.Protocol.Tls/TlsSessionSettings.cs:
531 * Mono.Security.Protocol.Tls/TlsServerSettings.cs:
532 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
533 * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs:
534 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
535 * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs:
537 - Added changes for make use of X509 classes from mono.
539 2003-10-23 Carlos Guzmán Álvarez <carlosga@telefonica.net>
541 * Added partial implementation of SSL3 protocol ( not finished yet ) to the TLS sources.
543 2003-10-20 Sebastien Pouliot <spouliot@videotron.ca>
545 * Mono.Security.dll.sources: Removed AssemblyInfo.cs from build.
546 This file is for TLS not for the complete Mono.Security assembly.
548 2003-10-20 Duncan Mak <duncan@ximian.com>
550 * Mono.Security.dll.sources: Added TlsAbstractCipherSuite.cs,
551 TlsCipherSuiteFactory.cs and TlsCompressMethod.cs. This fixes the
554 2003-10-20 Carlos Guzmán Álvarez <carlosga@telefonica.net>
556 * Mono.Security.dll.sources: Added references for new Tls files.
558 2003-10-20 Pedro Martínez Juliá <yoros@wanadoo.es>
560 * Mono.Security.dll.sources: Added references for Tls files.
562 2003-09-05 Sebastien Pouliot <spouliot@videotron.ca>
564 * KeyAttributesExtension.cs: New. Added for WSE.
566 2003-09-01 Sebastien Pouliot <spouliot@videotron.ca>
568 * Mono.Security.dll.sources: Added support for Authenticode(tm)
571 2003-07-30 Sebastien Pouliot <spouliot@videotron.ca>
573 * Mono.Security.dll.sources: Added ExtendedKeyUsageExtension.cs
574 certificate extension (so MakeCert can now create SSL certificates).
576 2003-07-28 Sebastien Pouliot <spouliot@videotron.ca>
578 * Mono.Security.dll.sources: Added missing SubjectAltNameExtension.cs
580 2003-06-14 Sebastien Pouliot <spouliot@videotron.ca>
582 * list.unix. Added SubjectAltNameExtension.cs
584 2003-03-06 Sebastien Pouliot <spouliot@videotron.ca>
586 * list.unix: New. All C# files required to build the assembly.
587 * makefile.gnu: New. Makefile to build the assembly under Linux.
588 * Mono.Security.build: New. NAnt build file.