Skip to main content

RFC 2818 - Quick Reference

Quick Reference​

HTTPS vs HTTP​

FeatureHTTPHTTPS
Protocolhttp://https://
Port80443
Encryption❌ Cleartext✅ TLS encrypted
Integrity❌ No protection✅ MAC protection
Authentication❌ No server auth✅ Certificate auth
Privacy❌ Can be eavesdropped✅ Encrypted transmission

TLS Handshake Overview​

Client                           Server
| |
|--- ClientHello --------------->|
| |
|<-- ServerHello, Certificate ---|
|<-- ServerHelloDone ------------|
| |
|--- ClientKeyExchange --------->|
|--- ChangeCipherSpec ---------->|
|--- Finished ------------------>|
| |
|<-- ChangeCipherSpec -----------|
|<-- Finished -------------------|
| |
|=== Encrypted Channel =========|
| |
|--- Encrypted HTTP Request ---->|
|<-- Encrypted HTTP Response ----|

Common Tools​

# OpenSSL view certificate
openssl s_client -connect www.example.com:443 -showcerts

# Test TLS version
openssl s_client -connect www.example.com:443 -tls1_2

# View certificate details
echo | openssl s_client -connect www.example.com:443 2>/dev/null | \
openssl x509 -noout -text

# cURL use HTTPS
curl -v https://www.example.com