[pgsqlclient-checkins] pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake TlsServerCertificate
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2003-09-12 23:49:39
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake In directory sc8-pr-cvs1:/tmp/cvs-serv21627 Modified Files: TlsServerCertificate.cs TlsServerCertificateRequest.cs TlsServerFinished.cs TlsServerHandshakeMessage.cs TlsServerHello.cs TlsServerHelloDone.cs TlsServerKeyExchange.cs Log Message: Changed received messages parsing, not finished and needs testing Index: TlsServerCertificate.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/TlsServerCertificate.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TlsServerCertificate.cs 1 Sep 2003 10:21:20 -0000 1.3 --- TlsServerCertificate.cs 12 Sep 2003 23:49:35 -0000 1.4 *************** *** 44,49 **** #region CONSTRUCTORS ! public TlsServerCertificate(TlsSession session, byte[] data) ! : base(session, TlsHandshakeType.Certificate, data) { } --- 44,49 ---- #region CONSTRUCTORS ! public TlsServerCertificate(TlsSession session, TlsStreamReader reader) ! : base(session, TlsHandshakeType.Certificate, reader) { } *************** *** 68,72 **** // Read Length ! int length = ReadInt24(); int count = 0; --- 68,72 ---- // Read Length ! int length = Reader.ReadInt24(); int count = 0; *************** *** 74,86 **** { // Skip next 3 bytes ! int skip = ReadInt24(); // Read certificate length ! int certLength = ReadInt24(); if (certLength > 0) { // Read certificate ! X509Certificate certificate = new X509Certificate(ReadBytes(certLength)); certificates.Add(certificate); --- 74,86 ---- { // Skip next 3 bytes ! int skip = Reader.ReadInt24(); // Read certificate length ! int certLength = Reader.ReadInt24(); if (certLength > 0) { // Read certificate ! X509Certificate certificate = new X509Certificate(Reader.ReadBytes(certLength)); certificates.Add(certificate); Index: TlsServerCertificateRequest.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/TlsServerCertificateRequest.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TlsServerCertificateRequest.cs 1 Sep 2003 10:21:20 -0000 1.2 --- TlsServerCertificateRequest.cs 12 Sep 2003 23:49:35 -0000 1.3 *************** *** 25,30 **** #region CONSTRUCTORS ! public TlsServerCertificateRequest(TlsSession session, byte[] data) ! : base(session, TlsHandshakeType.ServerHello, data) { } --- 25,30 ---- #region CONSTRUCTORS ! public TlsServerCertificateRequest(TlsSession session, TlsStreamReader reader) ! : base(session, TlsHandshakeType.ServerHello, reader) { } Index: TlsServerFinished.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/TlsServerFinished.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TlsServerFinished.cs 1 Sep 2003 10:21:20 -0000 1.3 --- TlsServerFinished.cs 12 Sep 2003 23:49:35 -0000 1.4 *************** *** 26,31 **** #region CONSTRUCTORS ! public TlsServerFinished(TlsSession session, byte[] data) ! : base(session, TlsHandshakeType.ServerHello, data) { } --- 26,31 ---- #region CONSTRUCTORS ! public TlsServerFinished(TlsSession session, TlsStreamReader reader) ! : base(session, TlsHandshakeType.ServerHello, reader) { } *************** *** 48,53 **** protected override void Parse() { ! int length = this.ReadInt24(); ! byte[] serverPRF = this.ReadBytes(length); TlsStreamWriter hashes = new TlsStreamWriter(); --- 48,53 ---- protected override void Parse() { ! int length = Reader.ReadInt24(); ! byte[] serverPRF = Reader.ReadBytes(length); TlsStreamWriter hashes = new TlsStreamWriter(); Index: TlsServerHandshakeMessage.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/TlsServerHandshakeMessage.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TlsServerHandshakeMessage.cs 1 Sep 2003 10:21:20 -0000 1.2 --- TlsServerHandshakeMessage.cs 12 Sep 2003 23:49:35 -0000 1.3 *************** *** 21,25 **** namespace System.Security.Tls.Handshake { ! internal abstract class TlsServerHandshakeMessage : TlsStreamReader { #region FIELDS --- 21,25 ---- namespace System.Security.Tls.Handshake { ! internal abstract class TlsServerHandshakeMessage { #region FIELDS *************** *** 27,30 **** --- 27,31 ---- private TlsSession session; private TlsHandshakeType handshakeType; + private TlsStreamReader reader; #endregion *************** *** 42,45 **** --- 43,51 ---- } + protected TlsStreamReader Reader + { + get { return reader; } + } + #endregion *************** *** 48,58 **** public TlsServerHandshakeMessage(TlsSession session, TlsHandshakeType handshakeType, ! byte[] data) : base(data) { this.session = session; this.handshakeType = handshakeType; // skip first byte ! ReadByte(); // Parse message --- 54,65 ---- public TlsServerHandshakeMessage(TlsSession session, TlsHandshakeType handshakeType, ! TlsStreamReader reader) { this.session = session; this.handshakeType = handshakeType; + this.reader = reader; // skip first byte ! Reader.ReadByte(); // Parse message *************** *** 72,77 **** public virtual void UpdateSession() { ! this.session.HandshakeHashes.Update(this.GetBytes()); ! this.Reset(); } --- 79,84 ---- public virtual void UpdateSession() { ! this.session.HandshakeHashes.Update(reader.GetBytes()); ! reader.Reset(); } Index: TlsServerHello.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/TlsServerHello.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TlsServerHello.cs 1 Sep 2003 10:21:20 -0000 1.2 --- TlsServerHello.cs 12 Sep 2003 23:49:35 -0000 1.3 *************** *** 36,41 **** #region CONSTRUCTORS ! public TlsServerHello(TlsSession session, byte[] data) ! : base(session, TlsHandshakeType.ServerHello, data) { } --- 36,41 ---- #region CONSTRUCTORS ! public TlsServerHello(TlsSession session, TlsStreamReader reader) ! : base(session, TlsHandshakeType.ServerHello, reader) { } *************** *** 63,83 **** { // Read message length ! this.length = ReadInt24(); // Read protocol version ! this.protocol = (TlsProtocol)ReadShort(); // Read random - Unix time + Random bytes ! this.random = ReadBytes(32); // Read Session id ! int length = (int)ReadByte(); if (length > 0) { ! this.sessionId = ReadBytes(length); } // Read cipher suite ! short cipherCode = ReadShort(); if (Session.SupportedCiphers.IndexOf(cipherCode) == -1) { --- 63,83 ---- { // Read message length ! this.length = Reader.ReadInt24(); // Read protocol version ! this.protocol = (TlsProtocol)Reader.ReadShort(); // Read random - Unix time + Random bytes ! this.random = Reader.ReadBytes(32); // Read Session id ! int length = (int)Reader.ReadByte(); if (length > 0) { ! this.sessionId = Reader.ReadBytes(length); } // Read cipher suite ! short cipherCode = Reader.ReadShort(); if (Session.SupportedCiphers.IndexOf(cipherCode) == -1) { *************** *** 88,92 **** // Read compression methods ( always 0 ) ! compressionMethod = ReadByte(); } --- 88,92 ---- // Read compression methods ( always 0 ) ! compressionMethod = Reader.ReadByte(); } Index: TlsServerHelloDone.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/TlsServerHelloDone.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TlsServerHelloDone.cs 1 Sep 2003 10:21:20 -0000 1.2 --- TlsServerHelloDone.cs 12 Sep 2003 23:49:35 -0000 1.3 *************** *** 25,30 **** #region CONSTRUCTORS ! public TlsServerHelloDone(TlsSession session, byte[] data) ! : base(session, TlsHandshakeType.ServerHello, data) { } --- 25,30 ---- #region CONSTRUCTORS ! public TlsServerHelloDone(TlsSession session, TlsStreamReader reader) ! : base(session, TlsHandshakeType.ServerHello, reader) { } Index: TlsServerKeyExchange.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/TlsServerKeyExchange.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TlsServerKeyExchange.cs 1 Sep 2003 10:21:20 -0000 1.3 --- TlsServerKeyExchange.cs 12 Sep 2003 23:49:35 -0000 1.4 *************** *** 34,39 **** #region CONSTRUCTORS ! public TlsServerKeyExchange(TlsSession session, byte[] data) ! : base(session, TlsHandshakeType.ServerKeyExchange, data) { verify(); --- 34,39 ---- #region CONSTRUCTORS ! public TlsServerKeyExchange(TlsSession session, TlsStreamReader reader) ! : base(session, TlsHandshakeType.ServerKeyExchange, reader) { verify(); *************** *** 59,77 **** protected override void Parse() { ! int length = this.ReadInt24(); rsaParams = new RSAParameters(); // Read modulus ! length = this.ReadShort(); ! rsaParams.Modulus = this.ReadBytes(length); // Read exponent ! length = this.ReadShort(); ! rsaParams.Exponent = this.ReadBytes(length); // Read signed params ! length = this.ReadShort(); ! signedParams = this.ReadBytes(length); } --- 59,77 ---- protected override void Parse() { ! int length = Reader.ReadInt24(); rsaParams = new RSAParameters(); // Read modulus ! length = Reader.ReadShort(); ! rsaParams.Modulus = Reader.ReadBytes(length); // Read exponent ! length = Reader.ReadShort(); ! rsaParams.Exponent = Reader.ReadBytes(length); // Read signed params ! length = Reader.ReadShort(); ! signedParams = Reader.ReadBytes(length); } |