OpenSSL is an open-source tool for using the Secure Socket Layer (SSL) and Transport Layer Security (TLS) protocols for Web authentication. It offers cryptographic functions to support SSL/TLS protocols.
It allows users to perform various SSL-related tasks, including generating CSR (Certificate Signing Request) and private keys, and installing SSL certificates. Most Linux distributions come with pre-compiled OpenSSL, but if you are on a Windows system, you can install it manually.
OpenSSL has an abstraction layer called providers, which can delegate cryptographic operations to different pieces of software or hardware.
The pkcs11-provider provides an OpenSSL plugin that tries to fit the PKCS#11 API within the OpenSSL provider API. That is, it provides a gateway between PKCS#11 modules and the OpenSSL provider API.