X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMono.Security%2FMono.Security.Protocol.Tls%2FChangeLog;h=e80407398f27650edb95dacea21f6134dc2b87d1;hb=bf5947a0fd2b523c30833605ee69b2b041aa43f4;hp=3faa4dc6cdb227bd228bfc1c10871bb16dcb629e;hpb=07ec1253c277856bdbb74213e2defc8ed23cf8e3;p=mono.git diff --git a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ChangeLog b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ChangeLog index 3faa4dc6cdb..e80407398f2 100644 --- a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ChangeLog +++ b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ChangeLog @@ -1,3 +1,97 @@ +2010-07-23 Sebastien Pouliot + + * ClientSessionCache.cs: Do not let the ValidityInterval be + controlled by an environment variable for Moonlight + * HttpsClientStream.cs: Simplify code for Moonlight profile + +2010-05-10 Sebastien Pouliot + + * CipherSuite.cs: + * DebugHelper.cs: + * RecordProtocol.cs: + * SslClientStream.cs: + Let them compile for Moonlight (where the files are + compiled inside System.dll) + +2010-04-23 Gonzalo Paniagua Javier + + * Context.cs: + * SslStreamBase.cs: + * RecordProtocol.cs: differentiate a received 'CloseNotify' alert from + one that we sent. Disposing the stream will try to send the + 'CloseNotify' alert, if it hasn't already, and ignore any errors. This + is needed for FTPS to work. + +2010-03-11 Gonzalo Paniagua Javier + + * SslStreamBase.cs: + * SslClientStream.cs: + * SslServerStream.cs: modify the 2.0 callback to return more info. + +2010-03-01 Gonzalo Paniagua Javier + + * HttpsClientStream.cs: use Address instead + of RequestUri to get the right host name when the request is + redirected. + + * SslStreamBase.cs: + * SslClientStream.cs: + * SslServerStream.cs: + added a new callback for certificate validation that gets all the + certificates received from the server/client. The callee should + build the chain and validate it. + +2009-10-20 Gonzalo Paniagua Javier + + * ServerContext.cs: + * SslServerStream.cs: add new parameter that forces sending the + CertificateRequest record. Make sure we raise the client certificate + validation event when it is requested or required. + +2009-07-02 Gonzalo Paniagua Javier + + * HttpsClientStream.cs: if there's only an ICertificatePolicy and no + ServerCertificateValicationCallback, don't fail. + +2009-07-02 Gonzalo Paniagua Javier + + * HttpsClientStream.cs: invoke the ServerCertificateValidationCallback + in the 2.0 profile. If there's a CertificatePolicy, it is run before + the 2.0 callback. + +2007-09-12 Sebastien Pouliot + + * Context.cs: Clear key info memory (not just nullify). Fix bug #82819 + +2007-08-16 Sebastien Pouliot + + * RecordProtocol.cs, SslStreamBase.cs: Ensure nothing (even the same + thread) can confuse the record decoding code. Fix bug #82145 (LDAP) + which uses several thread over a single SslClientStream instance. + +2007-05-23 Gonzalo Paniagua Javier + + * Context.cs: fix the calculation of the unix time. + +2007-05-09 Sebastien Pouliot + + * HttpsClientStream.cs: Add support for client certificates from + HttpWebRequest if it uses X509Certificate2 instance (which requires + using 2.0 profile) and if the private key is available. + * SslStreamBase.cs: Fix warning in 2.0 because Stream now implements + Dispose. Rework Close (in 2.0) to avoid infinite recursion. + +2006-12-08 Sebastien Pouliot + + * ClientSessionCache.cs: Fix cache to be really used. Original patch + by Roy Versteeg. Fix bug #80175. + +2006-12-08 Sebastien Pouliot + + * ClientSessionCache.cs: Check for a new environment variable to + control the cache validity period (MONO_TLS_SESSION_CACHE_TIMEOUT). + Fix bug #80174. + 2006-09-11 Sebastien Pouliot * CipherSuite.cs: Avoid creating a CryptoStream and a MemoryStream in @@ -251,508 +345,508 @@ * RecordProtocol.cs: Fix alert data that could leak into appplication data (e.g. when closing the SSL session). -2004-07-14 Carlos Guzman Alvarez - - * Removed duplicate license header file from - all source files. - -2004-07-14 Sebastien Pouliot - - * SslClientStream.cs: Changed lock to "new object()" and not - String.Empty (as the read/write locks points becomes the same). - * SslServerStream.cs: Changed lock to "new object()" and not - String.Empty (as the read/write locks points becomes the same). - -2004-07-14 Gonzalo Paniagua Javier - - * HttpsClientStream.cs: get an HttpWebRequest so that we can use the - ServicePoint it has. No need to get the host now. - -2004-05-09 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/Alert.cs: - * Mono.Security.Protocol.Tls/CipherSuite.cs: - * Mono.Security.Protocol.Tls/CipherSuiteCollection.cs: - * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: - * Mono.Security.Protocol.Tls/Context.cs: - * Mono.Security.Protocol.Tls/RecordProtocol.cs: - * Mono.Security.Protocol.Tls/SecurityCompressionType.cs: - * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs: - * Mono.Security.Protocol.Tls/SslServerStream.cs: - * Mono.Security.Protocol.Tls/TlsClientSettings.cs: - - - Changes for fix FxCop Rules. - - - Reworked CipherSuiteCollection class. - - -2004-04-21 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/DebugHelper.cs: - - - New class. - - * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: - * Mono.Security.Protocol.Tls/RecordProtocol.cs: - * Mono.Security.Protocol.Tls/Context.cs: - * Mono.Security.Protocol.Tls/Context.cs: - * Mono.Security.Protocol.Tls/SslCipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsCipherSuite.cs: - * Mono.Security.Protocol.Tls/SslClientStream.cs: - - - Added debug capabilities. - - * Mono.Security.Protocol.Tls/ServerContext.cs: - - - Added initialization of requested CertificateTypes and CA's - -2004-04-16 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/TlsException.cs: - - - Make it public until npgsql people can fix their sources. - -2004-03-19 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/TlsServerSettings.cs: - - - Added new CertificateRSA property. - - - Added new UpdateCertfificateRSA method. - - * Mono.Security.Protocol.Tls/CipherSuite.cs: - - - Removed CertificateRSA() method. - -2004-03-19 Sebastien Pouliot - - * CipherSuite.cs: Fixed PRF generation when secret is an odd number of - bytes (section 5 in RFC2246). - * CipherSuiteFactory.cs: Added algorithms RSA_EXPORT_WITH_RC4_40_MD5, - RSA_EXPORT_WITH_RC2_CBC_40_MD5, RSA_EXPORT_WITH_DES40_CBC_SHA, - RSA_EXPORT_WITH_RC4_56_MD5, RSA_EXPORT_WITH_RC2_CBC_56_MD5, - RSA_EXPORT_WITH_DES_CBC_56_SHA and RSA_EXPORT_WITH_RC4_56_SHA to both - SSL3 and TLS1 protocols. - * SslCipherSuite.cs: Fixed key generation for exportable ciphers. - * TlsCipherSuite.cs: Fixed key generation for exportable ciphers. - -2004-03-16 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/SslCipherSuite.cs: - - - Added changes for allow it to work as server or client. - -2004-03-15 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/TlsStream.cs: - * Mono.Security.Protocol.Tls/CipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsCipherSuite.cs: - * Mono.Security.Protocol.Tls/SslHandshakeHash.cs: - * Mono.Security.Protocol.Tls/RecordProtocol.cs: - - - Use Buffer.BlockCopy instead of System.Array.Copy - -2004-03-10 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/Ciphersuite.cs: - - - Added generation of the Server encryption algorithms. - - - Modified encryption/decription methods for work - as client or server as needed. - - * Mono.Security.Protocol.Tls/RecordProtocol.cs: - * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: - * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs: - - - Added new ProcessChangeCipherSpec method. - - * Mono.Security.Protocol.Tls/Context.cs: - - - Added new PrintBuffer method ( for debug ). - - * Mono.Security.Protocol.Tls/SslClientStream.cs: - * Mono.Security.Protocol.Tls/SslServerStream.cs: - - - Callback cleanup. - -2004-03-06 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/SslServerStream.cs: - - - Initial implementation of the doHandshake method. - - - Added initial events implementation. - - * Mono.Security.Protocol.Tls/Ciphersuite.cs: - * Mono.Security.Protocol.Tls/TlsCiphersuite.cs: - * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: - * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs: - * Mono.Security.Protocol.Tls/SslClientStream.cs: - * Mono.Security.Protocol.Tls/TlsServerSettings.cs: - * Mono.Security.Protocol.Tls/TlsClientSettings.cs: - * Mono.Security.Protocol.Tls/ClientContext.cs: - - - Changes for make use of the renamed classes and enums. - - * Mono.Security.Protocol.Tls/TlsContentType.cs: - - - Renamed to ContentType.cs ( Enum and file ) - - * Mono.Security.Protocol.Tls/TlsCiphersuiteCollection.cs: - - - Renamed to CiphersuiteCollection.cs ( Class and file ) - - * Mono.Security.Protocol.Tls/TlsCiphersuiteFactory.cs: - - - Renamed to CiphersuiteCollection.cs ( Class and file ) - - * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs: - - - Renamed to SslHandshakeHash.cs ( Class and file ) - - * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: - - - Renamed to SslCipherSuite.cs ( Class and file ) - -2004-02-26 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/HandshakeState.cs: - - - New file. - - * Mono.Security.Protocol.Tls/SslClientStream.cs: - * Mono.Security.Protocol.Tls/SslServerStream.cs: - * Mono.Security.Protocol.Tls/Context.cs: - * Mono.Security.Protocol.Tls/ClientContext.cs: - * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: - - - Added changes for better handling of ClientHelloRequest messages. - -2004-02-25 Sebastien Pouliot - - * HttpsClientStream.cs: New. Internal glue class between System.dll - WebConnection and SslClientStream to reduce reflection. - * SslClientStream.cs: RaiseServerCertificateValidation is now virtual - to allow HttpsClientStream to override it. - -2004-02-24 Carlos Guzman Alvarez - - * Mono.Security.Protocol.Tls/RecordProtocol.cs: - * Mono.Security.Protocol.Tls/SslClientStream.cs: - * Mono.Security.Protocol.Tls/SslServerStream.cs: - - - Reimplementation of TLS/SSL Alert Protocol. - -2004-02-20 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls.Handshake.Client/SslClientCertificate.cs: - - - Improved exception handling. - -2004-02-18 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs: - * Mono.Security.Protocol.Tls/HashAlgorithmType.cs: - * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs: - - - Added Serializable attribute. - - * Mono.Security.Protocol.Tls/CipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsCipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsContext.cs: - - - Added some optimizations proposed by Sebastien Pouliot. - - * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs: - - - Changes on Common Name detection and certificate error handling ( Thanks to Sebastien Pouliot for his feedback ). - -2004-02-18 Sebastien Pouliot - - * SslClientStream.cs: Fixed (inverted) condition for ServerCertificate. - * SecurityProtocolType.cs: Added [Serializable] to enum to match MS - implementation. - -2004-02-17 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls/SslClientStream.cs: - - - Added changes to security properties for check that the handshake is finished. - - * Mono.Security.Protocol.Tls/SslClientStream.cs: - - - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot ) - - - Reworked the record fragmentation. - - - Fix for send the close notify alert in the Close method - only if the Handshake is fully negotiated. - - -2004-02-16 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs: - - - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ). - -2004-02-15 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls/SslClientStream.cs: - - - Added specific control od available data for Network Streams - on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ). - - - Removed test code. - -2004-02-14 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls/SslClientStream.cs: - - - Removed test code. - -2003-11-17 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls/SslClientStream.cs: - - Removed ReadByte method, use innerStream.ReadByte() method instead. - -2003-11-13 Carlos Guzmán Álvarez - - * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation. - - The next files are no more needed: - - - TlsSession.cs - - - TlsNetworkStream.cs - - - TlsSocket.cs - - - TlsSessionState.cs - - The next files are renamed: - - - TlsSessionSettings.cs -> TlsClientSettings.cs - - - TlsSessionContext.cs -> TlsContext.cs - - The next files are new: - - - SslClientStream.cs ( the name is non definitive yet ) - - The next files where changed to reflect the new canges: - - - TlsHandshakeMessage.cs - - - TlsClientCertificate.cs - - - TlsClientCertificateVerify.cs - - - TlsClientFinished.cs - - - TlsClientHello.cs - - - TlsClientKeyExchange.cs - - - TlsServerCertificate.cs - - - TlsServerCertificateRequest.cs - - - TlsServerFinished.cs - - - TlsServerHello.cs - - - TlsServerHelloDone.cs - - - TlsServerKeyExchange.cs - - - TlsAlert.cs - - - TlsCloseNotifyAlert.cs - - -2003-11-12 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs: - - - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. ) - - * Mono.Security.Protocol.Tls/TlsProtocol.cs: - - - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 ) - - * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs: - - - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. ) - - * Mono.Security.Cryptography/TlsCompressionMethod.cs: - - - Renamed to SecurityCompressionType. - - * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs: - * Mono.Security.Protocol.Tls/HashAlgorithmType.cs: - * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs: - - - New enumerations that matches .NET 1.2 definitions with some minor differences. - - * Mono.Security.Protocol.Tls/CipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsCipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsSessionContext.cs: - - - Added changes for make use of new enumerations. - - * Mono.Security.Protocol.Tls/TlsClientStream.cs: - - - Added new informative properties that matches .NET 1.2 SslClientStream - ( Not all the properties are implemented yet ). - - -2003-11-10 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs: - - - Fixed invalid alert message. - - * Mono.Security.Protocol.Tls/CipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: - * Mono.Security.Cryptography/HMAC.cs: - * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs: - * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs: - - - Changed ( Thanks to Sebastién Pouliot for his feedback ) - - SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider(); - MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider(); - - to - - HashAlgorithm sha = SHA1.Create(); - HashAlgorithm md5 = MD5.Create(); - -2003-11-04 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls/CipherSuite.cs: - - - Added custom padding for record encryption. - - -2003-11-03 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs: - - - Removed file. - - * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs: - - - New class for handshake hashes calculation on SSL3 protocol. - - * Mono.Security.Protocol.Tls/TlsSessionContext.cs: - - - Fixed mac keys clearing for SSL3 protocol. - - * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: - * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs: - - - Added changes for make use of new TlsSslHandshakeHash class. - - * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs: - - - Added initial implementation for SSL3 protocol. - - * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs: - - - New class for md5-sha hash calculation. - - * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs: - * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs: - * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs: - * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs: - - - Make use of new MD5SHA1CryptoServiceProvider class. - - * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs: - - - Added initial implementation (not finished). - - * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs: - - - Minor change to message processing. - - - Changed verify method name to verifySignature. - - * Mono.Security.Protocol.Tls/TlsSessionContext.cs: - - - Changed handshakeHashes member to be an TlsStream. - -2003-10-28 Carlos Guzmán Álvarez - - * Mono.Security.Protocol.Tls/CipherSuite.cs: - * Mono.Security.Protocol.Tls/TlsSessionSettings.cs: - * Mono.Security.Protocol.Tls/TlsServerSettings.cs: - * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs: - * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs: - * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs: - * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs: - - - Added changes for make use of X509 classes from mono. - -2003-10-23 Carlos Guzmán Álvarez - - * Added partial implementation of SSL3 protocol ( not finished yet ). - - * TlsAbstractCipherSuite.cs: Renamed to CipherSuite.cs. - - * Removed AssemblyInfo.cs file. - -2003-10-21 Carlos Guzmán Álvarez - - TlsCipherSuiteFactory.cs: Changed names of private methods. - - TlsSslCipherSuite.cs: Replaced implementations of key generation methods with a throw new NotSupportedException(). - - -2003-10-20 Carlos Guzmán Álvarez - - TlsCupherSuite.cs: Fixed padding length calculation on record encryption. - - TlsSessionContext.cs: Added new CompressionMethod property. - Added new MAX_FRAGMENT_SIZE constant. - - TlsSession.cs: Removed MaxFragmentSize property. - - TlsSocket.cs: Replaced use of TlsSesison.MaxFragmentSize by TlsSessionContext.MAX_FAGMENT_SIZE - - TlsSessionSettings.cs: Added new CompressionMethod property. - - * Abstracted CipherSuite classes for allow work with other protocol versions. - - * Added new files : - - TlsAbstractCipherSuite.cs - - TlsSslCipherSuite.cs - - TlsCipherSuiteFactory.cs - - TlsCompressionMethod.cs - - * Added new cipher suites definitions based on RFC3268 - (http://www.ietf.org/rfc/rfc3268.txt) - - * Added two new supported ciphersuites for TLS protocol: - - TLS_RSA_WITH_AES_256_CBC_SHA - - TLS_RSA_WITH_AES_128_CBC_SHA - - * Moved key generation stuff to specific cipher suite classes. - -2003-10-20 Pedro Martínez Juliá - - * AssemblyInfo.cs: commented out KeyFile reference. - - * TlsSession.cs: changed Math.Pow for System.Math.Pow because of MCS - bug with namespace resolving. - +2004-07-14 Carlos Guzman Alvarez + + * Removed duplicate license header file from + all source files. + +2004-07-14 Sebastien Pouliot + + * SslClientStream.cs: Changed lock to "new object()" and not + String.Empty (as the read/write locks points becomes the same). + * SslServerStream.cs: Changed lock to "new object()" and not + String.Empty (as the read/write locks points becomes the same). + +2004-07-14 Gonzalo Paniagua Javier + + * HttpsClientStream.cs: get an HttpWebRequest so that we can use the + ServicePoint it has. No need to get the host now. + +2004-05-09 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/Alert.cs: + * Mono.Security.Protocol.Tls/CipherSuite.cs: + * Mono.Security.Protocol.Tls/CipherSuiteCollection.cs: + * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: + * Mono.Security.Protocol.Tls/Context.cs: + * Mono.Security.Protocol.Tls/RecordProtocol.cs: + * Mono.Security.Protocol.Tls/SecurityCompressionType.cs: + * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs: + * Mono.Security.Protocol.Tls/SslServerStream.cs: + * Mono.Security.Protocol.Tls/TlsClientSettings.cs: + + - Changes for fix FxCop Rules. + + - Reworked CipherSuiteCollection class. + + +2004-04-21 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/DebugHelper.cs: + + - New class. + + * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: + * Mono.Security.Protocol.Tls/RecordProtocol.cs: + * Mono.Security.Protocol.Tls/Context.cs: + * Mono.Security.Protocol.Tls/Context.cs: + * Mono.Security.Protocol.Tls/SslCipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsCipherSuite.cs: + * Mono.Security.Protocol.Tls/SslClientStream.cs: + + - Added debug capabilities. + + * Mono.Security.Protocol.Tls/ServerContext.cs: + + - Added initialization of requested CertificateTypes and CA's + +2004-04-16 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/TlsException.cs: + + - Make it public until npgsql people can fix their sources. + +2004-03-19 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/TlsServerSettings.cs: + + - Added new CertificateRSA property. + + - Added new UpdateCertfificateRSA method. + + * Mono.Security.Protocol.Tls/CipherSuite.cs: + + - Removed CertificateRSA() method. + +2004-03-19 Sebastien Pouliot + + * CipherSuite.cs: Fixed PRF generation when secret is an odd number of + bytes (section 5 in RFC2246). + * CipherSuiteFactory.cs: Added algorithms RSA_EXPORT_WITH_RC4_40_MD5, + RSA_EXPORT_WITH_RC2_CBC_40_MD5, RSA_EXPORT_WITH_DES40_CBC_SHA, + RSA_EXPORT_WITH_RC4_56_MD5, RSA_EXPORT_WITH_RC2_CBC_56_MD5, + RSA_EXPORT_WITH_DES_CBC_56_SHA and RSA_EXPORT_WITH_RC4_56_SHA to both + SSL3 and TLS1 protocols. + * SslCipherSuite.cs: Fixed key generation for exportable ciphers. + * TlsCipherSuite.cs: Fixed key generation for exportable ciphers. + +2004-03-16 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/SslCipherSuite.cs: + + - Added changes for allow it to work as server or client. + +2004-03-15 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/TlsStream.cs: + * Mono.Security.Protocol.Tls/CipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsCipherSuite.cs: + * Mono.Security.Protocol.Tls/SslHandshakeHash.cs: + * Mono.Security.Protocol.Tls/RecordProtocol.cs: + + - Use Buffer.BlockCopy instead of System.Array.Copy + +2004-03-10 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/Ciphersuite.cs: + + - Added generation of the Server encryption algorithms. + + - Modified encryption/decription methods for work + as client or server as needed. + + * Mono.Security.Protocol.Tls/RecordProtocol.cs: + * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: + * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs: + + - Added new ProcessChangeCipherSpec method. + + * Mono.Security.Protocol.Tls/Context.cs: + + - Added new PrintBuffer method ( for debug ). + + * Mono.Security.Protocol.Tls/SslClientStream.cs: + * Mono.Security.Protocol.Tls/SslServerStream.cs: + + - Callback cleanup. + +2004-03-06 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/SslServerStream.cs: + + - Initial implementation of the doHandshake method. + + - Added initial events implementation. + + * Mono.Security.Protocol.Tls/Ciphersuite.cs: + * Mono.Security.Protocol.Tls/TlsCiphersuite.cs: + * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: + * Mono.Security.Protocol.Tls/ServerRecordProtocol.cs: + * Mono.Security.Protocol.Tls/SslClientStream.cs: + * Mono.Security.Protocol.Tls/TlsServerSettings.cs: + * Mono.Security.Protocol.Tls/TlsClientSettings.cs: + * Mono.Security.Protocol.Tls/ClientContext.cs: + + - Changes for make use of the renamed classes and enums. + + * Mono.Security.Protocol.Tls/TlsContentType.cs: + + - Renamed to ContentType.cs ( Enum and file ) + + * Mono.Security.Protocol.Tls/TlsCiphersuiteCollection.cs: + + - Renamed to CiphersuiteCollection.cs ( Class and file ) + + * Mono.Security.Protocol.Tls/TlsCiphersuiteFactory.cs: + + - Renamed to CiphersuiteCollection.cs ( Class and file ) + + * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs: + + - Renamed to SslHandshakeHash.cs ( Class and file ) + + * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: + + - Renamed to SslCipherSuite.cs ( Class and file ) + +2004-02-26 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/HandshakeState.cs: + + - New file. + + * Mono.Security.Protocol.Tls/SslClientStream.cs: + * Mono.Security.Protocol.Tls/SslServerStream.cs: + * Mono.Security.Protocol.Tls/Context.cs: + * Mono.Security.Protocol.Tls/ClientContext.cs: + * Mono.Security.Protocol.Tls/ClientRecordProtocol.cs: + + - Added changes for better handling of ClientHelloRequest messages. + +2004-02-25 Sebastien Pouliot + + * HttpsClientStream.cs: New. Internal glue class between System.dll + WebConnection and SslClientStream to reduce reflection. + * SslClientStream.cs: RaiseServerCertificateValidation is now virtual + to allow HttpsClientStream to override it. + +2004-02-24 Carlos Guzman Alvarez + + * Mono.Security.Protocol.Tls/RecordProtocol.cs: + * Mono.Security.Protocol.Tls/SslClientStream.cs: + * Mono.Security.Protocol.Tls/SslServerStream.cs: + + - Reimplementation of TLS/SSL Alert Protocol. + +2004-02-20 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls.Handshake.Client/SslClientCertificate.cs: + + - Improved exception handling. + +2004-02-18 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs: + * Mono.Security.Protocol.Tls/HashAlgorithmType.cs: + * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs: + + - Added Serializable attribute. + + * Mono.Security.Protocol.Tls/CipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsCipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsContext.cs: + + - Added some optimizations proposed by Sebastien Pouliot. + + * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs: + + - Changes on Common Name detection and certificate error handling ( Thanks to Sebastien Pouliot for his feedback ). + +2004-02-18 Sebastien Pouliot + + * SslClientStream.cs: Fixed (inverted) condition for ServerCertificate. + * SecurityProtocolType.cs: Added [Serializable] to enum to match MS + implementation. + +2004-02-17 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls/SslClientStream.cs: + + - Added changes to security properties for check that the handshake is finished. + + * Mono.Security.Protocol.Tls/SslClientStream.cs: + + - Added changes for bring async methods to work ( Thanks to Sebastien Pouliot ) + + - Reworked the record fragmentation. + + - Fix for send the close notify alert in the Close method + only if the Handshake is fully negotiated. + + +2004-02-16 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls/TlsCipherSuiteFactory.cs: + + - Changed ciphersuites order of preference ( Thanks to Sebastien Pouliot for his feedback ). + +2004-02-15 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls/SslClientStream.cs: + + - Added specific control od available data for Network Streams + on Read ( Thanks to Francisco Figueiredo Jr. for his feedback ). + + - Removed test code. + +2004-02-14 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls/SslClientStream.cs: + + - Removed test code. + +2003-11-17 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls/SslClientStream.cs: + + Removed ReadByte method, use innerStream.ReadByte() method instead. + +2003-11-13 Carlos Guzmán Álvarez + + * Added implementation of an SslClientStream class similar to the MS .NET Framework 1.2 documentation. + + The next files are no more needed: + + - TlsSession.cs + + - TlsNetworkStream.cs + + - TlsSocket.cs + + - TlsSessionState.cs + + The next files are renamed: + + - TlsSessionSettings.cs -> TlsClientSettings.cs + + - TlsSessionContext.cs -> TlsContext.cs + + The next files are new: + + - SslClientStream.cs ( the name is non definitive yet ) + + The next files where changed to reflect the new canges: + + - TlsHandshakeMessage.cs + + - TlsClientCertificate.cs + + - TlsClientCertificateVerify.cs + + - TlsClientFinished.cs + + - TlsClientHello.cs + + - TlsClientKeyExchange.cs + + - TlsServerCertificate.cs + + - TlsServerCertificateRequest.cs + + - TlsServerFinished.cs + + - TlsServerHello.cs + + - TlsServerHelloDone.cs + + - TlsServerKeyExchange.cs + + - TlsAlert.cs + + - TlsCloseNotifyAlert.cs + + +2003-11-12 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs: + + - Changes for give full error message only in debug mode ( Thanks to Sebastién Pouliot. ) + + * Mono.Security.Protocol.Tls/TlsProtocol.cs: + + - Renamed to SecurityProtocolType.cs ( for match .NET 1.2 ) + + * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs: + + - Renamed to MD5SHA1.cs ( Thanks to Sebastién Pouliot. ) + + * Mono.Security.Cryptography/TlsCompressionMethod.cs: + + - Renamed to SecurityCompressionType. + + * Mono.Security.Protocol.Tls/CipherAlgorithmType.cs: + * Mono.Security.Protocol.Tls/HashAlgorithmType.cs: + * Mono.Security.Protocol.Tls/ExchangeAlgorithmType.cs: + + - New enumerations that matches .NET 1.2 definitions with some minor differences. + + * Mono.Security.Protocol.Tls/CipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsCipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsSessionContext.cs: + + - Added changes for make use of new enumerations. + + * Mono.Security.Protocol.Tls/TlsClientStream.cs: + + - Added new informative properties that matches .NET 1.2 SslClientStream + ( Not all the properties are implemented yet ). + + +2003-11-10 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs: + + - Fixed invalid alert message. + + * Mono.Security.Protocol.Tls/CipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: + * Mono.Security.Cryptography/HMAC.cs: + * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs: + * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs: + + - Changed ( Thanks to Sebastién Pouliot for his feedback ) + + SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider(); + MD5CryptoServiceProvider sha = new MD5CryptoServiceProvider(); + + to + + HashAlgorithm sha = SHA1.Create(); + HashAlgorithm md5 = MD5.Create(); + +2003-11-04 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls/CipherSuite.cs: + + - Added custom padding for record encryption. + + +2003-11-03 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls.Handshake/TlsHandshakeMessages.cs: + + - Removed file. + + * Mono.Security.Protocol.Tls/TlsSslHandshakeHash.cs: + + - New class for handshake hashes calculation on SSL3 protocol. + + * Mono.Security.Protocol.Tls/TlsSessionContext.cs: + + - Fixed mac keys clearing for SSL3 protocol. + + * Mono.Security.Protocol.Tls/TlsSslCipherSuite.cs: + * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs: + + - Added changes for make use of new TlsSslHandshakeHash class. + + * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs: + + - Added initial implementation for SSL3 protocol. + + * Mono.Security.Cryptography/MD5SHA1CryptoServiceProvider.cs: + + - New class for md5-sha hash calculation. + + * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientFinished.cs: + * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs: + * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs: + * Mono.Security.Protocol.Tls.Handshake.Client/TlsHandshakeMessage.cs: + + - Make use of new MD5SHA1CryptoServiceProvider class. + + * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs: + + - Added initial implementation (not finished). + + * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs: + + - Minor change to message processing. + + - Changed verify method name to verifySignature. + + * Mono.Security.Protocol.Tls/TlsSessionContext.cs: + + - Changed handshakeHashes member to be an TlsStream. + +2003-10-28 Carlos Guzmán Álvarez + + * Mono.Security.Protocol.Tls/CipherSuite.cs: + * Mono.Security.Protocol.Tls/TlsSessionSettings.cs: + * Mono.Security.Protocol.Tls/TlsServerSettings.cs: + * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs: + * Mono.Security.Protocol.Tls.Handshake.Client/TlsClientKeyExchange.cs: + * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs: + * Mono.Security.Protocol.Tls.Handshake.Client/TlsServerKeyExchange.cs: + + - Added changes for make use of X509 classes from mono. + +2003-10-23 Carlos Guzmán Álvarez + + * Added partial implementation of SSL3 protocol ( not finished yet ). + + * TlsAbstractCipherSuite.cs: Renamed to CipherSuite.cs. + + * Removed AssemblyInfo.cs file. + +2003-10-21 Carlos Guzmán Álvarez + + TlsCipherSuiteFactory.cs: Changed names of private methods. + + TlsSslCipherSuite.cs: Replaced implementations of key generation methods with a throw new NotSupportedException(). + + +2003-10-20 Carlos Guzmán Álvarez + + TlsCupherSuite.cs: Fixed padding length calculation on record encryption. + + TlsSessionContext.cs: Added new CompressionMethod property. + Added new MAX_FRAGMENT_SIZE constant. + + TlsSession.cs: Removed MaxFragmentSize property. + + TlsSocket.cs: Replaced use of TlsSesison.MaxFragmentSize by TlsSessionContext.MAX_FAGMENT_SIZE + + TlsSessionSettings.cs: Added new CompressionMethod property. + + * Abstracted CipherSuite classes for allow work with other protocol versions. + + * Added new files : + + TlsAbstractCipherSuite.cs + + TlsSslCipherSuite.cs + + TlsCipherSuiteFactory.cs + + TlsCompressionMethod.cs + + * Added new cipher suites definitions based on RFC3268 - (http://www.ietf.org/rfc/rfc3268.txt) + + * Added two new supported ciphersuites for TLS protocol: + + TLS_RSA_WITH_AES_256_CBC_SHA + + TLS_RSA_WITH_AES_128_CBC_SHA + + * Moved key generation stuff to specific cipher suite classes. + +2003-10-20 Pedro Martínez Juliá + + * AssemblyInfo.cs: commented out KeyFile reference. + + * TlsSession.cs: changed Math.Pow for System.Math.Pow because of MCS + bug with namespace resolving. +