private HandleServerKeyExchangeState( IServiceProvider serviceProvider, ICipherSuitesProvider cipherSuitesProvider, CipherSuiteConfig cipherSuiteConfig, ServerKeyExchangeMessage handshake) { _serviceProvider = serviceProvider; _cipherSuitesProvider = cipherSuitesProvider; _cipherSuiteConfig = cipherSuiteConfig; _handshake = handshake; }
public void HandleServerKeyExchange(ServerKeyExchangeMessage message) { var dhMessage = DHServerKeyExchangeMessage.Read(_serviceProvider, message.Data); _dhParameterConfig.G = dhMessage.G; _dhParameterConfig.P = dhMessage.P; // 512 is "approx" 256-bits of security _dhExchangeConfig.X = _random.RandomBig(512); var sharedSecret = DHCalculator.Calculate(dhMessage.Ys, _dhExchangeConfig.X, _dhParameterConfig.P); var preMasterSecret = sharedSecret.ToByteArray(Endianness.BigEndian); var masterSecret = _masterSecretCalculator.Compute(preMasterSecret); _masterSecretCalculator.ComputeKeysAndUpdateConfig(masterSecret); }
public void HandleServerKeyExchange(ServerKeyExchangeMessage message) { throw new System.NotImplementedException(); }
public static HandleServerKeyExchangeState New(IServiceProvider serviceProvider, ServerKeyExchangeMessage handshake) { return(new HandleServerKeyExchangeState( serviceProvider, serviceProvider.GetRequiredService <ICipherSuitesProvider>(), serviceProvider.GetRequiredService <CipherSuiteConfig>(), handshake)); }
public virtual void HandleServerKeyExchange(ServerKeyExchangeMessage message) { _client.HandleServerKeyExchange(message); }
public virtual void HandleServerKeyExchange(ServerKeyExchangeMessage message) { throw new NotImplementedException(); }