Update of /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake
In directory sc8-pr-cvs1:/tmp/cvs-serv27055
Modified Files:
TlsClientKeyExchange.cs
Log Message:
Changes on handling of RSA keys
Index: TlsClientKeyExchange.cs
===================================================================
RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/Handshake/TlsClientKeyExchange.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TlsClientKeyExchange.cs 20 Aug 2003 11:51:31 -0000 1.1
--- TlsClientKeyExchange.cs 20 Aug 2003 15:45:05 -0000 1.2
***************
*** 43,48 ****
byte[] preMasterSecret = Session.CreatePremasterSecret();
// Encrypt premaster_sercret
! RSAPKCS1KeyExchangeFormatter formatter = new RSAPKCS1KeyExchangeFormatter(Session.State.Cipher.RSA);
// Write the preMasterSecret encrypted
--- 43,59 ----
byte[] preMasterSecret = Session.CreatePremasterSecret();
+ // Create a new RSA key
+ RSACryptoServiceProvider rsa = null;
+ if (Session.State.ServerSettings.ServerKeyExchange)
+ {
+ rsa = Session.State.Cipher.CreateRSA(Session.State.ServerSettings.RsaParameters);
+ }
+ else
+ {
+ rsa = Session.State.Cipher.CreateRSA(Session.State.ServerSettings.ServerCertificates[0]);
+ }
+
// Encrypt premaster_sercret
! RSAPKCS1KeyExchangeFormatter formatter = new RSAPKCS1KeyExchangeFormatter(rsa);
// Write the preMasterSecret encrypted
***************
*** 54,57 ****
--- 65,71 ----
// Create keys
Session.CreateKeys();
+
+ // Clear resources
+ rsa.Clear();
}
|