[pgsqlclient-checkins] pgsqlclient_10/PgSqlClient.Security.Tls/source TlsSocket.cs,1.8,1.9
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2003-10-08 16:26:47
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source In directory sc8-pr-cvs1:/tmp/cvs-serv25135 Modified Files: TlsSocket.cs Log Message: reorganization Index: TlsSocket.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/TlsSocket.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** TlsSocket.cs 8 Oct 2003 12:16:47 -0000 1.8 --- TlsSocket.cs 8 Oct 2003 16:26:26 -0000 1.9 *************** *** 552,605 **** #region HANDSHAKE_METHODS ! private TlsClientHandshakeMessage createClientHandshakeMessage(TlsHandshakeType type) ! { ! switch (type) ! { ! case TlsHandshakeType.ClientHello: ! return new TlsClientHello(session); ! ! case TlsHandshakeType.ClientKeyExchange: ! return new TlsClientKeyExchange(session); ! ! case TlsHandshakeType.Certificate: ! return new TlsClientCertificate(session); ! ! case TlsHandshakeType.CertificateVerify: ! return new TlsClientCertificateVerify(session); ! ! case TlsHandshakeType.Finished: ! return new TlsClientFinished(session); ! ! default: ! throw new InvalidOperationException("Unknown client handshake message type: " + type.ToString() ); ! } ! } ! ! private TlsServerHandshakeMessage createServerHandshakeMessage(TlsHandshakeType type, TlsStreamReader handMsg) ! { ! switch (type) ! { ! case TlsHandshakeType.Certificate: ! return new TlsServerCertificate(session, handMsg); ! ! case TlsHandshakeType.CertificateRequest: ! return new TlsServerCertificateRequest(session, handMsg); ! ! case TlsHandshakeType.ServerHello: ! return new TlsServerHello(session, handMsg); ! ! case TlsHandshakeType.ServerHelloDone: ! return new TlsServerHelloDone(session, handMsg); ! ! case TlsHandshakeType.ServerKeyExchange: ! return new TlsServerKeyExchange(session, handMsg); ! case TlsHandshakeType.Finished: ! return new TlsServerFinished(session, handMsg); ! default: ! throw session.CreateException("Unknown server handshake message received ({0})", type.ToString()); ! } ! } internal void DoHandshake() --- 552,575 ---- #region HANDSHAKE_METHODS ! /* ! Client Server ! ClientHello --------> ! ServerHello ! Certificate* ! ServerKeyExchange* ! CertificateRequest* ! <-------- ServerHelloDone ! Certificate* ! ClientKeyExchange ! CertificateVerify* ! [ChangeCipherSpec] ! Finished --------> ! [ChangeCipherSpec] ! <-------- Finished ! Application Data <-------> Application Data ! Fig. 1 - Message flow for a full handshake ! */ internal void DoHandshake() *************** *** 621,625 **** if (session.Context.ServerSettings.CertificateRequest) { - #warning "Send client certificate if requested" this.sendRecord(TlsHandshakeType.Certificate); } --- 591,594 ---- *************** *** 634,638 **** if (session.Context.ServerSettings.CertificateRequest) { ! #warning "Send certificate verify if requested" } --- 603,607 ---- if (session.Context.ServerSettings.CertificateRequest) { ! this.sendRecord(TlsHandshakeType.CertificateVerify); } *************** *** 654,657 **** --- 623,677 ---- // Set isSecure session.IsSecure = true; + } + + private TlsClientHandshakeMessage createClientHandshakeMessage(TlsHandshakeType type) + { + switch (type) + { + case TlsHandshakeType.ClientHello: + return new TlsClientHello(session); + + case TlsHandshakeType.Certificate: + return new TlsClientCertificate(session); + + case TlsHandshakeType.ClientKeyExchange: + return new TlsClientKeyExchange(session); + + case TlsHandshakeType.CertificateVerify: + return new TlsClientCertificateVerify(session); + + case TlsHandshakeType.Finished: + return new TlsClientFinished(session); + + default: + throw new InvalidOperationException("Unknown client handshake message type: " + type.ToString() ); + } + } + + private TlsServerHandshakeMessage createServerHandshakeMessage(TlsHandshakeType type, TlsStreamReader handMsg) + { + switch (type) + { + case TlsHandshakeType.ServerHello: + return new TlsServerHello(session, handMsg); + + case TlsHandshakeType.Certificate: + return new TlsServerCertificate(session, handMsg); + + case TlsHandshakeType.ServerKeyExchange: + return new TlsServerKeyExchange(session, handMsg); + + case TlsHandshakeType.CertificateRequest: + return new TlsServerCertificateRequest(session, handMsg); + + case TlsHandshakeType.ServerHelloDone: + return new TlsServerHelloDone(session, handMsg); + + case TlsHandshakeType.Finished: + return new TlsServerFinished(session, handMsg); + + default: + throw session.CreateException("Unknown server handshake message received ({0})", type.ToString()); + } } |