public void Renegotiate() { if(Closed) { throw new Exception("Closed!"); } UpdateState(States.Updating); _ssl.Renegotiate(); _ssl.DoHandshake(); if(!_client) { // Tends to cause a really nasty _ssl.State = SslState.ACCEPT; _ssl.DoHandshake(); } }