IT automation and orchestratio...
Ansible

Install and configure OpenSSL Engine

1min

This section covers installing and configuring the following components of the OpenSSL library:

Library

Description



libp11

Provides a higher-level interface (compared to the PKCS #11 library) for accessing PKCS #11 objects. It integrates with applications that use OpenSSL.



OpenSC

Provides a set of libraries and utilities to work with smart cards. It focuses on cards that support cryptographic operations and facilitates their use in security applications such as authentication, mail encryption, and digital signatures.



PKCS11 engine plugin

Engine plugin for the OpenSSL library that allows accessing PKCS #11 modules in a semi-transparent way.



Perform the following steps to install and configure the OpenSSL Engine.

1 | Install libp11 and OpenSC

Select your operating system and perform the installation steps:

Ubuntu/Debian
Red Hat/CentOS
1

In a terminal, run the following sequence of commands to install libp11 and OpenSC:

Shell


2 | Edit the OpenSSL configuration file

The following instructions are the same for Ubuntu/Debian-based Linux distributions and Red Hat/CentOS-based distributions, except for the dynamic_path define in the openssl.cnf file:

  • On Ubuntu 18, the location of the pkcs11.so file specified in the dynamic_path define is shown in the following procedure.
  • On CentOS 8, the location of the pkcs11.so file is /usr/lib64/engines-1.1/pkcs11.so.
1

To confirm the location of the pkcs11.so file on your system, run the following command in a terminal as root:

Shell


After you confirm the location, proceed with the following instructions to edit the OpenSSL configuration file.

2

Run the following command to determine the location of the OpenSSL configuration file for the logged-in user:

Shell


If you prefer to edit your global OpenSSL configuration file, its location is usually in /etc/ssl/openssl.cnf

3

Open in a text editor the openssl.cnf file inside the OpenSSL directory that you identified in the preceding command.

4

Put the following line at the top of the file before any sections are defined:

Text

5

Put the following text at the bottom of the file:

Text


The value set for MODULE_PATH must specify where you installed the PKCS #11 module on your system.

You must set the password of the identity created on the for your specific integration in the PIN field.