TLS Handshake

During a TLS handshake, what is established before encrypted application data can be exchanged?

A

The DNS server provides encryption keys for both sides

B

The client and server agree on a cipher suite, the server proves its identity via a certificate, and both sides derive shared session keys

C

The client sends its password to the server for authentication

D

Both sides exchange their private keys over the network