SSL/TLS (Secure Sockets Layer / Transport Layer Security)

Email & Security
Cryptographic protocols that encrypt communication between web servers and browsers, indicated by HTTPS and the padlock icon.
← Back to Glossary

What is SSL/TLS?

SSL (Secure Sockets Layer) and TLS (Transport Layer Security) are cryptographic protocols that secure communication over networks. TLS is the modern successor to SSL, but "SSL" remains commonly used to refer to both. These protocols enable HTTPS, encrypting data between browsers and servers.

SSL vs TLS: A Brief History

VersionYearStatus
SSL 1.01994Never released (flawed)
SSL 2.01995Deprecated (insecure)
SSL 3.01996Deprecated (POODLE vulnerability)
TLS 1.01999Deprecated
TLS 1.12006Deprecated
TLS 1.22008Current standard
TLS 1.32018Latest, recommended

Modern systems should use TLS 1.2 or TLS 1.3 exclusively.

How TLS Works

The TLS Handshake

1. Client Hello: Browser sends supported TLS versions and cipher suites

2. Server Hello: Server selects TLS version and cipher suite

3. Certificate: Server sends its SSL certificate

4. Key Exchange: Secure key exchange (varies by cipher suite)

5. Finished: Encrypted session established

Client                          Server

|-- Client Hello -------------->|

|<-- Server Hello --------------|

|<-- Certificate ---------------|

|<-- Key Exchange --------------|

|-- Key Exchange -------------->|

|-- Finished ------------------>|

|<-- Finished ------------------|

|<======= Encrypted Session ===>|

TLS 1.3 reduces this to a single round-trip, improving performance.

SSL/TLS Certificates

What's in a Certificate?

Certificate Types

Domain Validated (DV): Proves domain ownership only Organization Validated (OV): Verifies organization identity Extended Validation (EV): Highest verification level

Certificate Coverage

Single Domain: Covers one domain (example.com) Wildcard: Covers all subdomains (*.example.com) Multi-Domain (SAN): Covers multiple specific domains

Implementing SSL/TLS

Free Certificates with Let's Encrypt

# Using Certbot

sudo certbot --nginx -d example.com -d www.example.com

# Auto-renewal

sudo certbot renew --dry-run

Cloud Provider Certificates

Most cloud platforms offer free, auto-renewing certificates:

Certificate Verification

Browsers verify certificates by:

1. Checking the certificate chain to a trusted root CA

2. Verifying the certificate hasn't expired

3. Confirming the domain matches

4. Checking revocation status (CRL/OCSP)

SSL/TLS Best Practices

Server Configuration

Use TLS 1.2+: Disable SSL 3.0, TLS 1.0, TLS 1.1
ssl_protocols TLSv1.2 TLSv1.3;
Strong Cipher Suites: Prefer modern, secure ciphers
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS: Force HTTPS (see HSTS glossary entry)

Certificate Management

Checking SSL/TLS

Using DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Returns SSL validity, issuer, expiration

Using OpenSSL:
openssl s_client -connect example.com:443 -servername example.com
Online Tools: SSL Labs (ssllabs.com/ssltest) provides comprehensive analysis.

Common SSL Issues

Mixed Content: HTTPS page loading HTTP resources (blocked by browsers) Certificate Mismatch: Certificate doesn't match the domain Expired Certificate: Certificate validity period ended Incomplete Chain: Missing intermediate certificates

SSL/TLS is no longer optional—all websites should use HTTPS for security and SEO benefits.

Put This Knowledge to Work

Use DomScan's API to check domain availability, health, and more.