OpenSSL Installation Guide

Table of contents


OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. The purpose of this page is to describe the steps required for enabling OpenSSL on MACCHIATObin.

Building OpenSSL

Please have the CROSS_COMPILE and ARCH setup correctly on your build machine before building the openSSL binaries.

mcbin@buildserver:~$ export CROSS_COMPILE=aarch64-linux-gnu-
mcbin@buildserver:~$ export ARCH=arm64

OpenSSL source files may be downloaded from https://github.com/openssl/openssl.git

mcbin@buildserver:~$ mkdir openssl
mcbin@buildserver:~$ cd openssl/
mcbin@buildserver:~/openssl$ git clone https://github.com/openssl/openssl.git .

Checkout to the branch OpenSSL_1_0_2-stable.

mcbin@buildserver:~/openssl$ git checkout OpenSSL_1_0_2-stable
Branch OpenSSL_1_0_2-stable set up to track remote branch OpenSSL_1_0_2-stable from origin.
Switched to a new branch 'OpenSSL_1_0_2-stable'

Configure the OpenSSL source code for MACCHIATObin, the parameter --prefix decides the installation directory for the OpenSSL binaries when you do make install afterward.

mcbin@buildserver:~/openssl$ ./Configure linux-aarch64 --cross-compile-prefix=${CROSS_COMPILE} --prefix=/home/mcbin/openssl/install shared

Make and install the OpenSSL binaries:

mcbin@buildserver:~/openssl$ make depend
mcbin@buildserver:~/openssl$ make -j5
mcbin@buildserver:~/openssl$ make install

With the example instructions above, when the make install command finishes, the OpenSSL binary package will be installed in the sub-directory install under the OpenSSL home directory.

mcbin@buildserver:~/openssl$ ls install
bin  include  lib  ssl

Next copy all the OpenSSL binaries to you MACCHIATObin root file system. For the instructions on how to create the Buildroot file system please refer to the page Build from source - Buildroot.

When you have the openssl binary available in your MACCHIATObin root file system. You may want to run the openssl speed test with ARMv8 crypto extension enabled:

# openssl speed -evp aes-256-cbc -elapsed -multi 1

Run the openssl test with multi-core:

# openssl speed -evp aes-256-cbc -elapsed -multi 2