protected virtual void ReceiveClientKeyExchangeMessage(MemoryStream buf)
        {
            mKeyExchange.ProcessClientKeyExchange(buf);

            AssertEmpty(buf);

            if (TlsUtilities.IsSsl(Context))
            {
                EstablishMasterSecret(Context, mKeyExchange);
            }

            this.mPrepareFinishHash = mRecordStream.PrepareToFinish();
            this.mSecurityParameters.sessionHash = GetCurrentPrfHash(Context, mPrepareFinishHash, null);

            if (!TlsUtilities.IsSsl(Context))
            {
                EstablishMasterSecret(Context, mKeyExchange);
            }

            mRecordStream.SetPendingConnectionState(Peer.GetCompression(), Peer.GetCipher());

            if (!mExpectSessionTicket)
            {
                SendChangeCipherSpecMessage();
            }
        }
Ejemplo n.º 2
0
 protected virtual void ReceiveClientKeyExchangeMessage(MemoryStream buf)
 {
     mKeyExchange.ProcessClientKeyExchange((Stream)(object)buf);
     TlsProtocol.AssertEmpty(buf);
     mPrepareFinishHash = mRecordStream.PrepareToFinish();
     mSecurityParameters.sessionHash = TlsProtocol.GetCurrentPrfHash(Context, mPrepareFinishHash, null);
     TlsProtocol.EstablishMasterSecret(Context, mKeyExchange);
     mRecordStream.SetPendingConnectionState(Peer.GetCompression(), Peer.GetCipher());
     if (!mExpectSessionTicket)
     {
         SendChangeCipherSpecMessage();
     }
 }
Ejemplo n.º 3
0
        protected virtual void ReceiveClientKeyExchangeMessage(MemoryStream buf)
        {
            mKeyExchange.ProcessClientKeyExchange(buf);

            AssertEmpty(buf);

            EstablishMasterSecret(Context, mKeyExchange);
            mRecordStream.SetPendingConnectionState(Peer.GetCompression(), Peer.GetCipher());

            this.mPrepareFinishHash = mRecordStream.PrepareToFinish();

            if (!mExpectSessionTicket)
            {
                SendChangeCipherSpecMessage();
            }
        }