[pgsqlclient-checkins] pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client TlsClientCert
Status: Inactive
Brought to you by:
carlosga_fb
Update of /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client In directory sc8-pr-cvs1:/tmp/cvs-serv9156 Modified Files: TlsClientCertificate.cs TlsClientCertificateVerify.cs TlsClientFinished.cs TlsClientHello.cs TlsClientKeyExchange.cs TlsServerCertificate.cs TlsServerCertificateRequest.cs TlsServerFinished.cs TlsServerHello.cs TlsServerHelloDone.cs TlsServerKeyExchange.cs Log Message: Reworked Handshake Index: TlsClientCertificate.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsClientCertificate.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsClientCertificate.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsClientCertificate.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 23,27 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientCertificate : TlsClientHandshakeMessage { #region CONSTRUCTORS --- 23,27 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientCertificate : TlsHandshakeMessage { #region CONSTRUCTORS *************** *** 59,64 **** // Compose the message ! this.WriteInt24((int)stream.Length); ! this.Write(stream.GetBytes()); } --- 59,64 ---- // Compose the message ! Writer.WriteInt24((int)stream.Length); ! Writer.Write(stream.GetBytes()); } Index: TlsClientCertificateVerify.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsClientCertificateVerify.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsClientCertificateVerify.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsClientCertificateVerify.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 22,26 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientCertificateVerify : TlsClientHandshakeMessage { #region CONSTRUCTORS --- 22,26 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientCertificateVerify : TlsHandshakeMessage { #region CONSTRUCTORS Index: TlsClientFinished.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsClientFinished.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsClientFinished.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsClientFinished.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 22,26 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientFinished : TlsClientHandshakeMessage { #region CONSTRUCTORS --- 22,26 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientFinished : TlsHandshakeMessage { #region CONSTRUCTORS *************** *** 47,50 **** --- 47,51 ---- protected override void Fill() { + // Get hashes of handshake messages TlsStreamWriter hashes = new TlsStreamWriter(); *************** *** 52,59 **** hashes.Write(Session.Context.HandshakeHashes.GetSHAHash()); ! Write(Session.Context.PRF(Session.Context.MasterSecret, "client finished", hashes.GetBytes(), 12)); hashes.Reset(); - Session.Context.HandshakeHashes.Reset(); } --- 53,61 ---- hashes.Write(Session.Context.HandshakeHashes.GetSHAHash()); ! // Write message contents ! Writer.Write(Session.Context.PRF(Session.Context.MasterSecret, "client finished", hashes.GetBytes(), 12)); + // Reset data hashes.Reset(); Session.Context.HandshakeHashes.Reset(); } Index: TlsClientHello.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsClientHello.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsClientHello.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsClientHello.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 22,26 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientHello : TlsClientHandshakeMessage { #region FIELDS --- 22,26 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientHello : TlsHandshakeMessage { #region FIELDS *************** *** 59,63 **** { // Client Version ! WriteShort((short)TlsProtocol.Tls1); // Random bytes - Unix time + Radom bytes --- 59,63 ---- { // Client Version ! Writer.WriteShort((short)Session.Context.Protocol); // Random bytes - Unix time + Radom bytes *************** *** 70,74 **** rng.GetNonZeroBytes(r); rnd.Write(r); ! Write(rnd.GetBytes()); random = rnd.GetBytes(); --- 70,74 ---- rng.GetNonZeroBytes(r); rnd.Write(r); ! Writer.Write(rnd.GetBytes()); random = rnd.GetBytes(); *************** *** 80,108 **** if (Session.SessionId != null) { ! Write((byte)Session.SessionId.Length); if (Session.SessionId.Length > 0) { ! Write(Session.SessionId); } } else { ! Write((byte)0); } // Write length of Cipher suites ! WriteShort((short)(Session.SupportedCiphers.Count*2)); // Write Supported Cipher suites for (int i = 0; i < Session.SupportedCiphers.Count; i++) { ! WriteShort(Session.SupportedCiphers[i].Code); } // Compression methods length ! Write((byte)1); // Compression methods ( 0 = none ) ! Write((byte)0); } --- 80,108 ---- if (Session.SessionId != null) { ! Writer.Write((byte)Session.SessionId.Length); if (Session.SessionId.Length > 0) { ! Writer.Write(Session.SessionId); } } else { ! Writer.Write((byte)0); } // Write length of Cipher suites ! Writer.WriteShort((short)(Session.SupportedCiphers.Count*2)); // Write Supported Cipher suites for (int i = 0; i < Session.SupportedCiphers.Count; i++) { ! Writer.WriteShort(Session.SupportedCiphers[i].Code); } // Compression methods length ! Writer.Write((byte)1); // Compression methods ( 0 = none ) ! Writer.Write((byte)0); } Index: TlsClientKeyExchange.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsClientKeyExchange.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsClientKeyExchange.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsClientKeyExchange.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 23,27 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientKeyExchange : TlsClientHandshakeMessage { #region CONSTRUCTORS --- 23,27 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsClientKeyExchange : TlsHandshakeMessage { #region CONSTRUCTORS *************** *** 59,64 **** // Write the preMasterSecret encrypted byte[] buffer = formatter.CreateKeyExchange(preMasterSecret); ! WriteShort((short)buffer.Length); ! Write(buffer); // Create master secret --- 59,64 ---- // Write the preMasterSecret encrypted byte[] buffer = formatter.CreateKeyExchange(preMasterSecret); ! Writer.WriteShort((short)buffer.Length); ! Writer.Write(buffer); // Create master secret Index: TlsServerCertificate.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsServerCertificate.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsServerCertificate.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsServerCertificate.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 25,29 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerCertificate : TlsServerHandshakeMessage { #region FIELDS --- 25,29 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerCertificate : TlsHandshakeMessage { #region FIELDS Index: TlsServerCertificateRequest.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsServerCertificateRequest.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsServerCertificateRequest.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsServerCertificateRequest.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 23,27 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerCertificateRequest : TlsServerHandshakeMessage { #region FIELDS --- 23,27 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerCertificateRequest : TlsHandshakeMessage { #region FIELDS Index: TlsServerFinished.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsServerFinished.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsServerFinished.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsServerFinished.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 22,26 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerFinished : TlsServerHandshakeMessage { #region CONSTRUCTORS --- 22,26 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerFinished : TlsHandshakeMessage { #region CONSTRUCTORS Index: TlsServerHello.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsServerHello.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsServerHello.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsServerHello.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 21,25 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerHello : TlsServerHandshakeMessage { #region FIELDS --- 21,25 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerHello : TlsHandshakeMessage { #region FIELDS Index: TlsServerHelloDone.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsServerHelloDone.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsServerHelloDone.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsServerHelloDone.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 21,25 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerHelloDone : TlsServerHandshakeMessage { #region CONSTRUCTORS --- 21,25 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerHelloDone : TlsHandshakeMessage { #region CONSTRUCTORS Index: TlsServerKeyExchange.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/Client/TlsServerKeyExchange.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TlsServerKeyExchange.cs 10 Oct 2003 15:40:41 -0000 1.1 --- TlsServerKeyExchange.cs 10 Oct 2003 18:19:09 -0000 1.2 *************** *** 23,27 **** namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerKeyExchange : TlsServerHandshakeMessage { #region FIELDS --- 23,27 ---- namespace System.Security.Tls.Handshake.Client { ! internal class TlsServerKeyExchange : TlsHandshakeMessage { #region FIELDS |