I’m trying to figure out the SSL handshake process. After reading up on TLS in Wikipedia I’ve seen that
The server sends its Certificate message (depending on the selected cipher suite, this may be omitted by the server)
I’ve also seen such behavior in real-life sniffs, but only in cases where the user eventually received an "Invalid certificate" warning.
I was wondering in which cases can a server omit the certificate? How can the client verify the server’s identity in this case then? Or is it only reserved to cases where the server have no certificate and gives up on sending a fake one, knowing that the user will see a browser warning anyway?
Thanks!
Some cipher suites don’t rely on certificates:
DH_anon). Some of them can provide encryption, but without authentication, which is insecure. Section A.5 says the following about them:Kerberos cipher suites, in which case the identification is done via the Kerberos ticket, and the name is verified against the Kerberos principal name (
host/MachineName@Realm).Pre-Shared Keys cipher suites (see section on PSK Identity Encoding).