In a recent tutorial, I explained how to generate secure self-signed server and client certificates with OpenSSL. Today, I thought it would be helpful to focus on manually installing OpenSSL on Windows, Linux, and macOS.

Installing OpenSSL can be tricky, and there are a few different ways to do this. To simplify your life, I have listed the method for each OS that I believe is the most straightforward.

 Installing OpenSSL on Windows

This tutorial is mostly for Windows 10 users, since OpenSSL does not ship with Windows 10 by default.

OpenSSL can be installed with Chocolatey, which can be easily deployed in an organization  or installed for a single user. It is also be a great tool for patch management.

Once Chocolatey has been installed, run the following command line:

choco install openssl

Installing OpenSSL on Linux

Arch Linux

By default, OpenSSL is already included in Arch Linux. If this is not the case with your instance, then run the following command line:

pacman -S openssl

CentOS / Red Hat

By default, OpenSSL is already included in CentOS. If this is not the case with your instance, then run the following command line:

yum install openssl

Ubuntu

By default, OpenSSL is already included in Ubuntu. If this is not the case with your instance, then run the following command line:

apt install openssl

Installing OpenSSL on macOS

By default, OpenSSL is already installed in macOS. However, your version may be outdated. If so, then you can install the latest version with Homebrew. After installing Homebrew, simply run the following command line:

brew install openssl

Advanced: Self Compile

Some people do not trust the pre-compiled binaries available on the package sources listed above. If you feel this way, then OpenSSL can be compiled from sources by following the steps listed here: https://github.com/openssl/openssl. However, you should be aware that this is a complex process and requires significant technical skill.

I hope this tutorial helps you along your journey to conquer the certificates world! If you have any questions, comments, or requests for new tutorials, please post below.