We may earn an affiliate commission when you visit our partners.
Course image
Holczer Balazs

In this course you will learn about cryptography, certificates and certificate signing requests (CSRs) with OpenSSL. You will understand the most popular pubic key (asymmetric) cryptosystems on a step by step basis - such as RSA and Elliptic Curve cryptosystems. You can learn about the theory as well as the implementation for every approach.

Chapter 1 - Cryptography Fundamentals

  • what is the aim of cryptography?

  • private key and public key cryptosystems

Chapter 2 - Public and Private Keys in OpenSSL

Read more

In this course you will learn about cryptography, certificates and certificate signing requests (CSRs) with OpenSSL. You will understand the most popular pubic key (asymmetric) cryptosystems on a step by step basis - such as RSA and Elliptic Curve cryptosystems. You can learn about the theory as well as the implementation for every approach.

Chapter 1 - Cryptography Fundamentals

  • what is the aim of cryptography?

  • private key and public key cryptosystems

Chapter 2 - Public and Private Keys in OpenSSL

  • generating RSA keys

  • encryption example with RSA

  • generating ECC keys

Chapter 3 - Certificates

  • root certificates (self-signed certificates) and intermediate certificates

  • certificate parameters and configuration files

Chapter 4 - Certificate Signing Request (CSR)

  • what are certificate signing requests?

  • signing intermediate certificates

  • verifying the chain of trust

Chapter 5 - Transport Layer Protocol (TLS)

  • what is the transport layer protocol?

  • how network communication works

  • certificate revocation list (CRL)

Chapter 6 - RSA Algorithm

  • RSA algorithm theory

  • the problem of factorization

  • is it possible to crack RSA algorithm?

Chapter 7 - Elliptic Curve Cryptography (ECC)

  • elliptic curve cryptography theory

  • double and add algorithm

  • point addition algorithm

  • digital signatures with elliptic curves

  • why does Bitcoin use elliptic curve cryptography?

  • is it possible to crack elliptic curves?

Thanks for joining my course, let's get started.

Enroll now

What's inside

Syllabus

Introduction
Cryptography Fundamentals
What is cryptography?
Symmetric encryption
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores RSA and Elliptic Curve cryptosystems, which are fundamental to modern data encryption and secure communication protocols
Covers Transport Layer Security (TLS), which is essential for securing network communications and protecting sensitive data transmitted over the internet
Uses OpenSSL, a widely adopted and versatile cryptography toolkit, which is used for managing certificates and implementing cryptographic protocols
Includes hands-on implementation of cryptographic concepts in Java using the Bouncy Castle library, which is a popular choice for enterprise applications
Examines certificate signing requests (CSRs) and the chain of trust, which are critical for establishing secure identities and verifying the authenticity of digital certificates
Requires installing IntelliJ, which may not be accessible or familiar to all learners, potentially creating a barrier to entry for some

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Pki, openssl, and crypto fundamentals

According to learners, this course provides a solid introduction to Public Key Infrastructure (PKI), covering cryptography fundamentals, certificates, CSRs, TLS, and the RSA and ECC algorithms. Students particularly appreciate the balance between theory and practical application, with helpful OpenSSL examples and demonstrations. While some find the Java/Bouncy Castle sections useful for implementation, others note they are less relevant to their needs. The lectures are generally seen as clear and well-structured, although a few mention the instructor's accent or delivery can occasionally be a minor challenge. Overall, it's viewed as a valuable resource for understanding core PKI concepts and gaining hands-on experience with OpenSSL.
Java implementation is included, useful for developers.
"The Java Bouncy Castle parts were useful for seeing how to implement this in code."
"While the Java sections weren't directly relevant to my needs, I can see their value for developers."
"Appreciated the Java implementation examples as I work primarily with code."
"The Bouncy Castle parts were a nice bonus, though I skipped some as my focus is OpenSSL."
Explanations of complex topics are generally clear.
"Complex topics like RSA and ECC theory were explained very clearly."
"The instructor did a good job of breaking down difficult concepts."
"Explanations were concise and easy to understand, especially for PKI basics."
Practical OpenSSL demonstrations are highly valued.
"The practical OpenSSL demonstrations throughout the course were incredibly helpful."
"Learning how to use OpenSSL commands was a key takeaway for me."
"The hands-on parts with OpenSSL were very clear and easy to follow."
"Really liked the practical examples using OpenSSL to generate keys and certs."
Good balance of theoretical concepts and practical application.
"The combination of theory and practical examples (OpenSSL and Java) was very helpful."
"I liked the mix of theory and practice... helped me understand the concepts better."
"Covers theory well and then shows how to apply it using OpenSSL."
"It strikes a good balance between explaining the concepts and showing practical implementations."
Instructor's accent or pace is occasionally mentioned.
"Occasionally, the instructor's accent made it a bit difficult to understand certain words."
"The pace was generally good, but sometimes felt slightly rushed on complex points."
"Minor issue with the audio quality or accent sometimes, but overall manageable."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Public Key Infrastructure (PKI) with OpenSSL (RSA and ECC) with these activities:
Review Cryptography Fundamentals
Reinforce your understanding of fundamental cryptographic concepts before diving into PKI specifics. This will help you grasp the underlying principles more easily.
Browse courses on Public Key Cryptography
Show steps
  • Review the differences between symmetric and asymmetric encryption.
  • Study the basic goals of cryptography: confidentiality, integrity, and availability.
  • Practice simple encryption and decryption examples.
Read 'Serious Cryptography'
Expand your understanding of cryptography with a comprehensive book. This will provide a broader context for the specific PKI concepts covered in the course.
Show steps
  • Read the chapters related to public key cryptography and digital signatures.
  • Take notes on key concepts and algorithms.
  • Try to implement some of the algorithms in code.
Practice OpenSSL Commands
Familiarize yourself with OpenSSL commands for key generation, certificate creation, and CSR signing. This hands-on practice will solidify your understanding of the practical aspects of PKI.
Show steps
  • Generate RSA and ECC keys using OpenSSL.
  • Create self-signed certificates.
  • Create and sign certificate signing requests (CSRs).
  • Verify the chain of trust for a certificate.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a PKI Cheat Sheet
Consolidate your knowledge by creating a cheat sheet summarizing key PKI concepts, OpenSSL commands, and troubleshooting tips. This will serve as a valuable reference for future projects.
Show steps
  • Summarize the key steps in creating and managing certificates.
  • List common OpenSSL commands and their options.
  • Include troubleshooting tips for common PKI issues.
Set up a Test PKI Environment
Apply your knowledge by setting up a test PKI environment using OpenSSL. This will allow you to experiment with different configurations and gain practical experience in managing certificates and keys.
Show steps
  • Create a root certificate authority (CA).
  • Create intermediate CAs (optional).
  • Issue certificates for servers and clients.
  • Configure a web server to use the issued certificates.
Read 'Bulletproof SSL and TLS'
Deepen your understanding of TLS and SSL protocols, which rely heavily on PKI. This will provide a more complete picture of how PKI is used in practice.
Show steps
  • Read the chapters related to certificate management and TLS configuration.
  • Experiment with different TLS configurations on a test server.
  • Analyze the security implications of different configuration choices.
Contribute to an OpenSSL Project
Enhance your expertise by contributing to an open-source project that uses OpenSSL. This will give you valuable experience in working with real-world PKI implementations and collaborating with other developers.
Show steps
  • Find an open-source project that uses OpenSSL.
  • Identify a bug or feature that you can contribute to.
  • Submit a patch or pull request with your changes.

Career center

Learners who complete Public Key Infrastructure (PKI) with OpenSSL (RSA and ECC) will develop knowledge and skills that may be useful to these careers:
Cryptography Engineer
The cryptography engineer designs and implements cryptographic systems. This position requires in-depth learning and the course is relevant. You gain an understanding of cryptography, certificates, and certificate signing requests using OpenSSL. With this course, you will understand public key cryptosystems such as RSA and Elliptic Curve Cryptography. You can examine the theory and implementation for every approach. This course can help you become a cryptography engineer.
Security Engineer
A security engineer focuses on protecting computer systems and networks. This individual needs a strong understanding of cryptography. The course helps build a foundation in that area, especially regarding public key infrastructure. You gain knowledge of RSA and Elliptic Curve cryptosystems which are extremely important for any security engineer. The course goes into implementation via OpenSSL, a crucial piece of the puzzle. Learning about certificates, certificate signing requests, and the transport layer protocol, as the course offers, are all beneficial for this role.
Security Architect
A security architect designs and implements security systems. This position needs a deep understanding of cryptography and security protocols. This course is valuable, as it covers vital areas of public key infrastructure. You can learn about RSA and Elliptic Curve cryptosystems, as well as certificate management and TLS. You also gain an understanding of how network communication works. This course can make you better at your job.
Cloud Security Engineer
The cloud security engineer focuses on securing cloud-based systems and data. This individual needs to know cryptography, especially when dealing with data encryption and secure communication. This course helps you get started due to its coverage of public key infrastructure. You gain practical knowledge of RSA and Elliptic Curve Cryptography as well. The sections on TLS and certificate management help in securing cloud environments. You can better ensure the confidentiality and integrity of data stored in the cloud as a cloud security engineer.
Cryptocurrency Analyst
The cryptocurrency analyst studies and analyzes cryptocurrencies and blockchain technology. This position is useful for someone with a solid understanding of cryptography. This course is relevant due to its instruction on Elliptic Curve Cryptography, which are important in blockchain. You also gain foundational knowledge of the cryptographic principles of digital signatures and transactions. Learning how network communication works may also be relevant. As a cryptocurrency analyst, this course is helpful.
Blockchain Developer
A blockchain developer builds and maintains blockchain-based systems. This course helps build the foundation for understanding the cryptographic principles behind blockchain technology. Understanding elliptic curve cryptography, as discussed in the course in the context of Bitcoin, is helpful. You also gain knowledge of public key infrastructure, which is essential for securing blockchain transactions. The course gives you the knowledge that can help you analyze blockchain security models. By knowing more about cryptography, you can become a better blockchain developer.
Security Consultant
The security consultant advises organizations on how to improve their security posture. This course helps build a foundation in cryptography, which is important. You can learn about public key infrastructure, certificates, and certificate signing requests. It also covers RSA and Elliptic Curve cryptosystems. The course, in general, can assist with assessing a client's needs. It can also help with providing recommendations for secure communication and data protection.
Information Security Analyst
An information security analyst monitors and assesses security measures. This course helps build a foundation in cryptography, which is important to know. The course is particularly useful because it covers public key infrastructure, certificates, and certificate signing requests. You also gain familiarity with RSA and Elliptic Curve cryptosystems. A grasp of the transport layer protocol is also important. This knowledge can help you identify vulnerabilities and recommend security improvements as an information security analyst.
Network Engineer
A network engineer designs, implements, and manages computer networks. This course may be useful for understanding secure network communication. Public key infrastructure and transport layer protocol knowledge are vital. The course is especially relevant due to its coverage of TLS. You can learn about certificate revocation lists, and how network communication works. If you want to become a network engineer, this course may be a good start.
Embedded Systems Security Engineer
Embedded systems security engineers protect the hardware and software in embedded systems. It's a role that demands expertise in cryptographic techniques tailored for resource-constrained environments. In this course, you can learn about Elliptic Curve Cryptography, which is often preferred in embedded systems due to its efficiency. You can also learn about the practical implementation of cryptographic protocols using OpenSSL, which is relevant in embedded systems development. The course can give you additional knowledge for your role.
Penetration Tester
The work of a penetration tester involves finding vulnerabilities in systems. This often requires knowledge of cryptography, and this course may be useful. The course helps you understand how cryptographic systems work and how they might be broken, with a focus on RSA and Elliptic Curve cryptosystems. You can gain familiarity with OpenSSL, which helps you analyze and exploit vulnerabilities. The sections on certificate signing requests and the transport layer protocol help in assessing security configurations.
System Administrator
The system administrator manages and maintains computer systems. The administrator must also secure them. This course may be helpful for a system administrator. The course's explanation of public key infrastructure, certificates, and transport layer protocol is relevant. You gain knowledge about implementing and managing secure systems using OpenSSL. The course's coverage of RSA and Elliptic Curve cryptosystems may also be useful for understanding encryption practices used within systems. The course is a solid start.
Software Developer
A software developer creates and maintains software applications. Although not always necessary, knowing some cryptography can be helpful. By understanding cryptography, you can learn how to write more secure applications. This course can help a software developer understand how to integrate cryptographic functions into their code. The course is particularly useful if you are working with sensitive data or building secure communication channels. Learning about RSA, Elliptic Curve Cryptography and certificates are helpful for any software developer.
Digital Forensics Analyst
The digital forensics analyst investigates cybercrimes and security incidents. This kind of role requires a strong grasp of cryptography, particularly in the context of data encryption and decryption. This course may be useful due to its coverage of cryptographic principles. You may find the RSA and Elliptic Curve Cryptography sections helpful. You can use this knowledge to analyze encrypted data, recover lost information, and trace digital evidence.
IT Manager
An IT Manager oversees an organization's information technology infrastructure. It may be useful to have a strong understanding of security principles. This course may be useful, due to its thorough coverage of public key infrastructure. You can learn about the implementation of secure systems. Concepts such as RSA, Elliptic Curve Cryptography, and certificate management are introduced. This course can help you manage your team better.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Public Key Infrastructure (PKI) with OpenSSL (RSA and ECC).
Provides a practical and modern introduction to cryptography. It covers a wide range of topics, including symmetric and asymmetric encryption, hash functions, message authentication codes, and digital signatures. It valuable resource for understanding the underlying principles of PKI and how they are applied in real-world systems. This book is helpful for providing background knowledge and can be used as a reference text.
Provides in-depth coverage of SSL/TLS configuration and deployment. It covers topics such as certificate management, cipher suite selection, and protocol vulnerabilities. It valuable resource for understanding how to secure web servers and other applications using PKI. This book is more valuable as additional reading than it is as a current reference, but it is commonly used by industry professionals.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser