English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 50 lectures (4h 22m) | 3.38 GB
Advanced TLS and HTTPS course for everyone! Set up a HTTPS localhost server with Node and Live Server. Tons MORE!
- Deep dive into TLS (previously called SSL) and HTTPS: Gain insights that set you apart from 99% of developers. Understand the true meaning of HTTPS beyond the surface-level claims of “security”
- The end of HTTP/1.1: Any serious developer today must concentrate on TLS security and hosting websites over the more robust protocols like HTTP/2 and HTTP/3. Stay relevant in a rapidly evolving digital landscape
- Key Concepts Unlocked: Explore advanced topics such as hybrid key exchange, encryption, public key infrastructure (PIK), asymmetric and symmetric cryptography, TLS handshake, HMAC, signatures, hashing, and cipher suites. Each concept builds a solid foundation for your web security knowledge.
This course is meticulously crafted for developers who are eager to elevate their TLS skills and gain a profound understanding of HTTPS, Certificate Authorities, and secure server configurations.
SSL is old-school, outdated and deprecated. Therefore this course focuses on TLS as the protocol used with HTTP/2 and HTTP/3.
What You’ll Learn:
Throughout this course, you will embark on an adventure that seamlessly blends theory with hands-on practice. Here’s what you can expect:
- Practical HTTPS setup: You are going to learn how to use Node.js, and Live Server to set up a localhost server over a secure TLS / HTTPS connection. You will master the process of creating certificates and generating keys.
- Encryption: Understand the principles of encryption, including both symmetric and asymmetric methods, the concept of “keys” and how they are applied in secure HTTPS communications.
- TLS Handshake Mechanics: Dive deep into the TLS handshake process, learning how secure connections are established between clients and servers.
- Public Key Infrastructure: Learn about the framework that enables secure data exchange through digital certificates and key management.
- Advanced TLS Concepts and Cryptography: Gain insights into Hybrid Key Exchange (KEM algos), HMAC, signatures, hashing techniques, and cipher suites that form the backbone of secure TLS web interactions.
This Course Is Practical:
You’ll put theory into action by setting up your own secure local server using HTTPS through the following steps:
- Create Your Own Certificate Authority (CA): Learn how to set up a CA from scratch, giving you the authority to issue certificates for your projects.
- Self-Sign Your CA Certificate: Discover how to self-sign your CA certificate, making it uniquely yours and ready for deployment.
- Generate Keys for Security: Master the process of generating private and public keys for your server.
- Request a Signed Certificate: Complete the setup by learning how to request a signed certificate, finalizing your secure server configuration.
- Sign Your Server’s Certificate: Use your newly created CA to sign your server’s certificate, ensuring secure communication for your local applications.
Hands-On Experience:
In this course you will spin up a localhost server (running on 127.0.0.1) over HTTPS using:
- Live Server in Visual Studio Code (we do this using a GUI and also OpenSSL)
- A Node server instance, using the mkcert library (I’ll show you how to do this using the API and also the CLI)
Additionally, you’ll analyze traffic for both HTTP/2 and HTTP/3, gaining insights into modern web communication protocols. This course is not just about learning; it’s about doing!
What you’ll learn
- Create your own localhost server (Node and Live Server) that runs over HTTPS / TLS
- Join the ranks of elite developers who truly understand how TLS protects data in transit
- Understand HTTPS by creating your own Certificate Authority and signing certificates
- Gain a deep understanding of pure HTTPS and TLS
- Understand hybrid key exchange concepts that are used TODAY with TLS 1.3
- Learn encryption, hashing, HMACs and PIKs with respect to HTTPS
- Master the concepts of HTTPS and TLS
- Learn more than 99% of developers who think HTTPS is just “secure”!
- Understand how TLS works, visually
- Generate your own self-signed PIK certificates and sign for your server FOR FREE
- Understand concepts of asymmetric and symmetric encryption
- Understand the role of “public” and “private” keys in HTTPS
- Become a developer grandmaster
- Dive deep into the mechanics of TLS handshakes and understand how secure connections are forged!
- Hands-on experience in setting up HTTPS on locahost using Live Server (VSC) using Node
- Equip yourself with the skills to implement robust security measures in your web applications!
- Become a trusted developer by mastering the principles of encryption, authentication, and data integrity!
- Visualize TLS, PKI, HTTPS and more!
- Understand how to use OpenSSL and .cnf files to supply configurations to your certificates and keys
- How to extract the public key from a private key
- Understand why the private key often looks like the public key
- Understand PEM files, ASN.1 files and PCKS#1 files
- Learn the latest hybrid key exchange techniques used by latest browsers in TLS 1.3
- Understand the TLS 1.3 handshake process
Table of Contents
Introduction to http, https, and encryption keys
1 Introduction to HTTP
2 Analyze HTTP1.1 traffic using Wireshark
3 How to capture encrypted HTTPS traffic over HTTP3
4 What is encryption
5 Symmetric key encryption
6 Asymmetric key encryption
7 Analyzing QUIC and HTTP3 traffic in Wireshark, and extracting session keys
8 What encryption algorithms does OpenSSL provide
TLS deep dive and the role of PKI
9 Goals of TLS and HTTPS
10 Asymmetric key encryption guarantees confidentiality
11 Ultimate goal for HTTPS is for client and server to use symmetric key encryption
12 Premaster and master secrets, RSA and symmetric key generation
13 Using asymmetric keys to produce signatures
14 Intro to hashing using Bash terminal and utilities
15 Hashing ensures integrity of data
16 Combining hashing with key encryption
17 Into to HMAC (Hash-based Message Authentication Code)
18 Why a Public Key Infrastructure (PKI) system is needed
19 Public Key Infrastructure (PKI) and Certificate Authorities (CA) explained
20 How does a server request a certificate – Certificate Signing Request (CSR)
21 Certificate Signing Request (CSR)
22 How to view trusted CA’s on your browser and operating system
23 How does a client verify a server’s signed certificate
24 What does the client actually check on the certificate
25 TLS process recap part 1 of 2 (client hello and server hello)
26 Timeout using Wireshark to examine the client hello and server hello
27 TCP Streams vs. HTTP3 Streams
28 TLS process recap part 2 of 2 (premaster and master secret, and symmetric keys)
Create your own HTTPS server (PRACTICAL)
29 Intro to .pem ACN.1 PKCS .crt .csr and steps required to establish TLS
30 CA, and certificate generation process, VISUALIZED
31 Part 1 Using XCA and Live Server to spin up a localhost server over HTTPSTLS
32 XCA – creating a local CA, and a self-signed certificate
33 XCA – creating keys, a CSR and a signed X.509 certificate for localhost
34 XCA – run a localhost server using Live Server, over HTTPSTLS
35 XCA – Using Wireshark to examine our TLS connection
36 Part 2 Using OpenSSL and Live Server to run a localhost server over HTTPSTLS
37 OpenSSL – installing OpenSSL
38 OpenSSL – producing CA keys and certificate
39 Inspecting the private key file, and extracting the public key from it
40 OpenSSL – generating server key pairs, and a server CSR file
41 OpenSSL – generating a signed certificate certificate by our CA
42 OpenSSL – run a localhost server using Live Server, over HTTPSTLS
43 Part 3 Create a Node server to run a localhost server over HTTPS and TLS
44 Node – setting up our Node server code
45 Node – using the mkcert API to run a Node localhost server over HTTPSTLS
46 Node – using the mkcert CLI to run a Node localhost server over HTTPSTLS
47 Outro
Resolve the captcha to access the links!