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.