示例#1
0
 private void ClientMode(Settings settings)
 {
     if (settings.publicRSAkey == "")
     {
         throw new SettingsException("Client needs public RSA key from server");
     }
     using (var exchange = new AES_KeyExchange(settings))
     {
         _sessionKey        = exchange._privateSessionKey;
         encrypedsessionkey = exchange._publicEnryptedSessionKey;
     }
 }
示例#2
0
 private void ServerMode(Settings settings)
 {
     if (RSAPrivateKey == null)
     {
         using (var exchange = new AES_KeyExchange(settings))
         {
             RsaPublicKey  = exchange._publicKey;
             RSAPrivateKey = exchange._privateKey;
         }
     }
     else
     {
         using (var exchange = new AES_KeyExchange(settings))
         {
             if (settings.encryptedSessionKey.Length >= 0)
             {
                 throw new SettingsException("Needs a encrypted session key from client");
             }
             exchange._privateKey = RSAPrivateKey;
             _sessionKey          = exchange.DecryptData(Encoding.UTF8.GetBytes(settings.encryptedSessionKey));
         }
     }
 }