anchor.diff:         Algorithm == dhe_rsa;
          Algorithm == dh_anon ->
       Msg =  ssl_handshake:key_exchange(client, {dh, DhPubKey}),
  -    {BinMsg, ConnectionStates1, Hashes1} =
  +    {BinMsg, ConnectionStates, Hashes} =
           encode_handshake(Msg, Version, ConnectionStates0, Hashes0),
       Transport:send(Socket, BinMsg),
  -    State#state{connection_states = ConnectionStates1,
  -                tls_handshake_hashes = Hashes1}.
  +    State#state{connection_states = ConnectionStates,
  +                tls_handshake_hashes = Hashes}.
   
   rsa_key_exchange(PremasterSecret, PublicKeyInfo = {Algorithm, _, _})  
     when Algorithm == ?rsaEncryption;
  
positive.code:     case ssl_handshake:client_certificate_verify(OwnCert, MasterSecret, 
  						 Version, PrivateKey, Hashes0) of
          #certificate_verify{} = Verified ->
              {BinVerified, ConnectionStates1, Hashes1} = 
                  encode_handshake(Verified, Version,
                                   ConnectionStates0, Hashes0),
              Transport:send(Socket, BinVerified),
              State#state{connection_states = ConnectionStates1,
                          tls_handshake_hashes = Hashes1};
  	ignore ->
  	    State;
  	#alert{} = Alert ->
  
negative.code: 			   socket = Socket,
  			   transport_cb = Transport} = State) ->
      Msg = ssl_handshake:certificate_request(ConnectionStates0, CertDbHandle, CertDbRef),
      {BinMsg, ConnectionStates, Hashes} =
          encode_handshake(Msg, Version, ConnectionStates0, Hashes0),
      Transport:send(Socket, BinMsg),
      State#state{client_certificate_requested = true,
  		connection_states = ConnectionStates,
  		tls_handshake_hashes = Hashes};
  request_client_cert(#state{ssl_options = #ssl_options{verify = verify_none}} =
  		    State) ->
      State.
  