private bool HasCertificateFor(CipherSuite cipherSuite) { var keyExchange = _cipherSuitesProvider.ResolveKeyExchange(cipherSuite); foreach (var certificate in _certificateManager.GetAllCertificates()) { if (keyExchange.IsCompatible(cipherSuite, certificate)) { return(true); } } return(false); }
public IState Run() { // TODO is it valid to receive this message? var keyExchange = _cipherSuitesProvider.ResolveKeyExchange(_cipherSuiteConfig.CipherSuite); keyExchange.HandleServerKeyExchange(_handshake); return(_serviceProvider.GetRequiredService <WaitingForServerKeyExchangeFollowupState>()); }
private void SendKeyExchange() { var keyExchange = _cipherSuitesProvider.ResolveKeyExchange(_cipherSuiteConfig.CipherSuite); var messages = keyExchange.GenerateClientHandshakeMessages(); foreach (var message in messages) { _writer.Write(message); } }
private IEnumerable <HandshakeMessage> CreateKeyExchangeMessages() { var keyExchange = _cipherSuitesProvider.ResolveKeyExchange(_cipherSuiteConfig.CipherSuite); return(keyExchange.GenerateServerHandshakeMessages()); }