After learning the theory behind cryptography I'm having quite some problems understanding how SSL or X509 certificates works in practise and I simply cannot find useful information in the internet.
To my understanding, a webserver needs an SSL certificate to proof to the client that he is who is claiming to be (e.g. www.company.com). Beside that, I assume that it is also used for exchanging a temporary session key for symmetric encryption (probably AES) by some asymmetric key distribution system like diffie-helmann?
In that case: Does the certificate which the Webserver holds, contain multiple public keys for all these crypto systems, for example an RSA key for RSA Signatures, the DL parameters for Diffie-Hellmann? Or does he need multiple keys (also for multiple key sizes?)
I would be extremely thankful if anybody could tell me what exactly happens (step by step), when a client is connecting to a https address. Thank you so much!