Introduction
If you’ve ever noticed a little padlock icon in your browser bar, that’s HTTPS at work — and behind it sits a world of encryption, certificates, and secure handshakes. While it sounds complex, the basics of SSL/TLS certificates can be broken down into approachable steps. Let’s explore how HTTPS works, why certificates matter, and how to utilize it.
What Happens Before Encryption
Before any website data is encrypted, your browser (the client) and the server need to agree on how to communicate securely. This agreement is called the handshake.
The most important part of the handshake is the key exchange. Using public key cryptography, both parties establish a shared secret over an insecure network. The server’s public key is used to encrypt this secret, and only the server can unlock it with its private key. That secret then generates a temporary symmetric session key — the actual key used to encrypt all communication during that browsing session.
Once the handshake is complete, every piece of data exchanged is protected by that session key.
The Role of Certificates
So where do certificates come in?
Certificates are the trust layer. They prove that the public key you’re using to set up a session really belongs to the website you think it does — and not a malicious impostor. Without certificates, attackers could trick you with a fake server and intercept your data, a classic man-in-the-middle attack.
A certificate includes:
- The site’s public key.
- Information about who owns it.
- A digital signature from a trusted Certificate Authority (CA).
Browsers trust certificates because they trust the CAs that sign them.
Creation of Certificates
At the foundation are key pairs: a private key and a public key. Website owners generate a certificate request, which contains the public key and identifying information. This request goes to a CA, which validates it and signs it. The result is a verified certificate.
For internal testing, developers often act as their own CA. This involves generating a root key pair, creating a root certificate, and then using it to sign client and server certificate requests. The signed certificates, combined with their private keys and the CA certificate, form the basis of a keystore (for holding trusted identities) and a truststore (for holding CA certificates).
Visual Guide: How SSL Certificates Work
Here’s a simple diagram to visualize the process:

Diagram Flow:
- Client → Server: Begins handshake.
- Server → Client: Sends certificate signed by CA.
- Client → CA: Verifies certificate against trusted CA root.
- Key Exchange: Client encrypts secret with server’s public key.
- Server → Client: Decrypts with private key, establishes session key.
- Secure Channel: All further communication encrypted with session key.
Practical Example: OpenSSL and Java KeyStore
Developers commonly use tools like OpenSSL and KeyTool to create and manage certificates. Here’s a high-level view of the process:
Generate a key pair and certificate request
openssl req -newkey rsa:1024 -sha1 -keyout serverkey.pem -out serverreq.pem
Create a self-signed root certificate (for testing)
openssl x509 -req -in rootreq.pem -signkey rootkey.pem -out cacert.pem -days 3650
Sign the server certificate request with the root certificate
openssl x509 -req -in serverreq.pem -CA cacert.pem -CAkey rootkey.pem -out servercert.pem -days 3650
Bundle certificates into a keystore or truststore
using KeyTool: keytool -importcert -file servercert.pem -keystore keystore.jks -alias server keytool -importcert -file cacert.pem -keystore truststore.jks -alias ca
With these in place, a server can prove its identity and establish secure HTTPS connections.
Why HTTPS Matters
Certificates aren’t just a technical checkbox — they’re the reason you can trust that your online banking site really is your bank, or that your login credentials won’t be stolen in transit. For students and developers, learning the certificate chain provides hands-on understanding of the foundations of web security.
So next time you see that browser padlock, remember: behind it is a carefully orchestrated handshake, a web of trusted authorities, and a digital certificate keeping your data safe.

Hi, I’m Cary — a tech enthusiast, educator, and author, currently a software architect at Hornetlabs Technology in Canada. I love simplifying complex ideas, tackling coding challenges, and sharing what I learn with others.