2004-02-17 Carlos Guzmán Álvarez * 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.