346 lines
11 KiB
Plaintext
346 lines
11 KiB
Plaintext
|
2010-05-10 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsClientCertificateVerify.cs: Let it compile for Moonlight -
|
||
|
where the file is compiled inside System.dll
|
||
|
|
||
|
2010-04-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
|
||
|
|
||
|
* TlsServerCertificate.cs: display the error code.
|
||
|
|
||
|
2010-03-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
|
||
|
|
||
|
* TlsServerCertificate.cs: chain is built and validated in
|
||
|
System.dll now.
|
||
|
|
||
|
2010-03-01 Gonzalo Paniagua Javier <gonzalo@novell.com>
|
||
|
|
||
|
* TlsServerCertificate.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-08-20 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsServerCertificate.cs: If no usage information is available then
|
||
|
assume it's ok for SSL since we'll (later) check that the CN contains
|
||
|
a host name (that match the server) and such a certificate wouldn't
|
||
|
be much useful for anything but SSL/TLS. Fix the new stmp.gmail.com
|
||
|
certificate usage failure.
|
||
|
|
||
|
2007-12-15 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsServerCertificate.cs: Add support for wilcard (*) when matching
|
||
|
the target host with the certificate. Fix bug #346812
|
||
|
|
||
|
2007-05-22 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsClientCertificate.cs: If possible avoid to export the private key
|
||
|
(it could be non-exportable in a different RSA class implementation).
|
||
|
Patch from Roy Versteeg to fix #81592.
|
||
|
* TlsClientCertificateVerify.cs: Add chain support for x.509 client
|
||
|
certificates. Based on Roy Versteeg patch to fix #80557.
|
||
|
|
||
|
2006-12-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
|
||
|
|
||
|
* TlsServerCertificate.cs: typo.
|
||
|
|
||
|
2006-09-11 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsClientFinished.cs: Use Write.Cipher instead of Cipher. Remove
|
||
|
usage of TlsStream in ProcessAsSsl3.
|
||
|
* TlsClientKeyExchange.cs: Use Negotiating.Cipher instead of Cipher.
|
||
|
Refactor to avoid code duplication between SSL3 and TLS.
|
||
|
* TlsServerCertificate.cs: Use Negotiating.Cipher instead of Cipher.
|
||
|
* TlsServerFinished.cs: Use Current.Cipher instead of Cipher. Use
|
||
|
Compare to test client and server digests equality. Remove usage of
|
||
|
TlsStream in ProcessAsSsl3.
|
||
|
* TlsServerHello.cs: Use Negotiating.Cipher instead of Cipher. Remove
|
||
|
usage of TlsStream to reduce memory allocations. Remove method
|
||
|
CompareSessionId and use the new base class Compare method instead.
|
||
|
|
||
|
2006-03-16 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsClientHello.cs: Check to see if we already have a known session
|
||
|
(past or concurrent) with the same target host. If so the use this
|
||
|
session id to try to resume (i.e. abbreviated handshake).
|
||
|
* TlsServerFinished.cs: Don't reset the hasndshake stream here. The
|
||
|
stream must be resetted once BOTH the client and the server are done.
|
||
|
The order of message can be different if we use an abbreviated
|
||
|
handshake sequence which leads to an invalid handshake.
|
||
|
* TlsServerHello.cs: Add this session info to the client cache. If the
|
||
|
server sends the same session id (as we supplied) then we MUST do an
|
||
|
abbreviated handshake.
|
||
|
|
||
|
2005-11-23 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsServerCertificate.cs: Add support for Netscape Server Gated
|
||
|
Crypto (2.16.840.1.113730.4) as a valid server-side EKU OID. Fix bug
|
||
|
#76804.
|
||
|
|
||
|
2005-06-14 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsClientCertificate.cs: Add support for _optional_ mutual
|
||
|
authentication. SSL3 and TLS1 deals differently with this. SSL3 tested
|
||
|
with OpenSSL, TSL1 tested with OpenSSL and LDAPS/AD.
|
||
|
|
||
|
2005-04-12 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsClientCertificateVerify.cs: Add missing data length (16 bits -
|
||
|
not to be confused with the record 24 bits length) before the RSA
|
||
|
signature of the MD5SHA1 hash. Fix #71696.
|
||
|
|
||
|
2004-05-11 Carlos Guzman Alvarez <carlosga@telefonica.net>
|
||
|
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
|
||
|
|
||
|
- Added fix for better handling of exceptions when
|
||
|
building the X509 Certificate chain.
|
||
|
|
||
|
2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsClientCertificateVerify.cs: Use Buffer.BlockCopy instead of
|
||
|
Array.Copy.
|
||
|
* TlsServerCertificate.cs: Changed KeyUsage to KeyUsages and CertType
|
||
|
to CertTypes.
|
||
|
|
||
|
2004-03-19 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsClientKeyExchange.cs: Fixed key pair used to encrypt pre-master
|
||
|
secret for exportable ciphers - must use the public key received in
|
||
|
ServerKeyExchange.
|
||
|
|
||
|
2004-03-10 Carlos Guzman Alvarez <carlosga@telefonica.net>
|
||
|
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Client/TlsClientCertificateVerify.cs:
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificateRequest.cs:
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Server/TlsClientCertificateVerify.cs:
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Server/TlsServerCertificateRequest.cs:
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Server/TlsServerFinished.cs:
|
||
|
|
||
|
- Fixed meesage type definition.
|
||
|
|
||
|
2004-03-04 Carlos Guzman Alvarez <carlosga@telefonica.net>
|
||
|
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Client/TlsServerHelloDone.cs:
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Server/TlsServerHelloDone.cs:
|
||
|
|
||
|
- Fixed message type.
|
||
|
|
||
|
2004-02-26 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsServerCertificate.cs: Certificate validation has been activated.
|
||
|
|
||
|
2004-02-26 Carlos Guzman Alvarez <carlosga@telefonica.net>
|
||
|
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Client/TlsServerFinished.cs:
|
||
|
|
||
|
- Added changes for better handling of ClientHelloRequest messages.
|
||
|
|
||
|
2004-02-21 Carlos Guzman Alvarez <carlosga@telefonica.net>
|
||
|
|
||
|
* TlsServerHello: Fix for handle SecurityProtocolType.Default.
|
||
|
|
||
|
2004-02-20 Sebastien Pouliot <sebastien@ximian.com>
|
||
|
|
||
|
* TlsServerCertificate.cs: Added code to validate the server X.509
|
||
|
certificate (identity, usage) and it's chain to a trusted root.
|
||
|
Note that the verification is commented for the time being.
|
||
|
|
||
|
2004-02-14 Carlos Guzmán Álvarez <carlosga@telefonica.net>
|
||
|
|
||
|
* Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:
|
||
|
|
||
|
- Removed test code.
|
||
|
|
||
|
2003-11-17 Carlos Guzmán Álvarez <carlosga@telefonica.net>
|
||
|
|
||
|
* Mono.Security.Protocol.Tls/SslClientStream.cs:
|
||
|
|
||
|
Removed ReadByte method, use innerStream.ReadByte() method instead.
|
||
|
|
||
|
2003-11-13 Carlos Guzmán Álvarez <carlosga@telefonica.net>
|
||
|
|
||
|
* 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 <carlosga@telefonica.net>
|
||
|
|
||
|
* 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 <carlosga@telefonica.net>
|
||
|
|
||
|
* 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 <carlosga@telefonica.net>
|
||
|
|
||
|
* Mono.Security.Protocol.Tls/CipherSuite.cs:
|
||
|
|
||
|
- Added custom padding for record encryption.
|
||
|
|
||
|
|
||
|
2003-11-03 Carlos Guzmán Álvarez <carlosga@telefonica.net>
|
||
|
|
||
|
* 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 <carlosga@telefonica.net>
|
||
|
|
||
|
* 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 <carlosga@telefonica.net>
|
||
|
|
||
|
* Added partial implementation of SSL3 protocol ( not finished yet ).
|