[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
|