
Master the udemy interface with practical tips on playback speed, captions, transcripts, resources, offline viewing, and keyboard shortcuts to boost your learning efficiency.
Based on student feedback, I'm adding some of the lessons from my Practical TLS course as optional lessons in the OpenSSL Training course. These will provide more context around the cryptographic tools SSL/TLS used to secure data.
If you are already familiar with SSL/TLS and basic Cryptography concepts (hashing, symmetric keys, public & private keys, RSA, DH, etc...), then feel free to skip these lessons.
Otherwise, I hope these lessons provide additional value for you as you continue with the lessons from the OpenSSL Training Course.
Learn how SSL and TLS protect data on the wire by providing confidentiality through encryption, integrity through hashing, and authentication via the public key infrastructure.
Discover how anti replay and non repudiation protect data in ssl and tls by combining sequence numbers with integrity and authentication to prevent replay attacks and repudiation.
Learn the SSL/TLS roles—client, server, and certificate authority—and how the client initiates a TLS handshake, the server authenticates, and certificate authorities issue server certificates.
Explore how hashing converts any input to a fixed-length message digest and evaluate its four real-world requirements, the avalanche effect, and collision concepts using MD5 and SHA examples.
Explore how hashing and message authentication codes provide data integrity and authentication in ssl/tls by combining a message with a secret key to produce and verify digests.
Understand key-based encryption to ensure confidentiality by converting plaintext to ciphertext using symmetric and asymmetric methods, with public and private keys, and compare their strengths, weaknesses, and key sizes.
Explore how public and private keys form a key pair to ensure confidentiality, authentication, and integrity, and how hybrid encryption blends asymmetric and symmetric methods for secure bulk data.
Learn how SSL and TLS use encryption, hashing, and MACs with PKI and certificate authorities to achieve confidentiality, integrity, and authentication through asymmetric key exchange for a client and server.
Explore how a public key infrastructure links clients, servers, and certificate authorities to achieve confidentiality, integrity, and authentication, with web, code signing, and internal corporate PKI examples.
Learn how DSA enables only signature generation and verification, unlike RSA or Diffie-Hellman. Recognize the need for a unique random number, or RFC 6979, in signing.
Generate and inspect RSA keys with the OpenSSL cheat sheet, creating PEM-formatted public and private key pairs in 1024- or 2048-bit sizes, with optional encrypted outputs.
Explore generating DSA parameters and keys with OpenSSL: create a DSA parameters file, generate DSA keys (displaying P, Q, G values) in text form, or do it in one step.
Learn to generate elliptic curve keys with OpenSSL by creating an EC parameters file, generating keys from it, or doing both in step, and inspect PEM files and list curves.
Learn to add and remove encryption on RSA private keys with openssl rsa, switching between unencrypted and encrypted pem files using a passphrase and verifying integrity with sha1 hashes.
Explore the OpenSSL PKI utility as an algorithm agnostic key inspector, using a single command to extract text or PEM data from RSA, DSA, and elliptic curve keys.
Generate a CSR or certificate using an existing private key (elliptic curve or RSA) and specify subject attributes such as country, state, locality, organization, and common name.
Learn to generate CSRs and certificates with private keys in a single openssl command, using no des options and the dash new key for rsa, dsa, and elliptic curve.
Extract specific pieces of information from certificates and CSRs using OpenSSL, including viewing PEM contents and retrieving subject, issuer, dates, extensions, and the public key.
Use OpenSSL to identify PEM, DER, and PFX file formats by testing cert and key files with x509 and related openssl utilities, then rename each file with the correct extension.
Learn to convert between pem and pfx formats with OpenSSL pkcs12, exporting certificates and private keys while managing export passwords and key and certificate pairs.
Discover deeper TLS and SSL concepts through Ed's Practical TLS course, a 10-hour video deep dive with 30 plus labs and free YouTube modules, covering cryptography, handshake, and revocation certificates.
OpenSSL is the universal tool for inspecting, diagnosing, and troubleshooting SSL & TLS.
OpenSSL is composed of many different utilities, each of which is responsible for a specific aspect of the SSL and TLS ecosystem.
Topics include:
Module 1 - Generating Public and Private Keys
Generating and inspecting RSA Keys
Generating and inspecting DSA Keys
Generating and inspecting Elliptic Curve Keys
Adding & Removing Encryption to RSA Keys
Adding and removing encryption to RSA Keys
OpenSSL Key Utility
Matching Private Keys to Certificates and CSRs
Module 3 - Generating Certificates and CSRs
Creating a CSR and Certificate using an existing Private Key
Creating a CSR and Certificate using a new Private Key
Module 4 - Inspecting Certificates and CSRs
Extracting specific information from Certificates and CSRs
Module 5 - File Formats and Conversions (PEM, DER, PFX)
Check if file is PEM, DER, or PFX
Converting files between PEM and DER formats
Converting files between PEM and PFX formats
In this course, you will receiving training on how to use the following OpenSSL Utilities:
openssl rsa
openssl genrsa
openssl dsa
openssl gendsa
openssl dsaparam
openssl ec
openssl ecparam
openssl pkey
openssl genpkey
openssl x509
openssl req
openssl pkcs12
Each module contains demo files you can use to practice the commands along with each lesson.
The lessons in the course follow a section from the Cheat Sheet (available to download as part of the course).
After completing the course and downloading the OpenSSL Cheat Sheet,
you will be equipped to inspect and troubleshoot any SSL / TLS scenarios you find yourself in.