Skip to main content

Installation of PKCS#11/OpenSSL with Script

Securosys provides a script with a convenient step-by-step installation wizard. The wizard:

  • Guides you through the installation and configuration of the Primus PKCS#11 Provider.
  • Optionally: Installs and configures OpenSSL so that it integrates with the Primus PKCS#11 Provider.

This simplifies the installation and removes the need to manually run commands and edit config files. For full control over the installation process, please follow the manual installation guide.

Compatibility

The installer script is tested on the following platforms:

  • Debian 12 (PKCS#11 Provider only, no OpenSSL integration)
  • Debian 13
  • Ubuntu 24.04, 26.04
  • Fedora 44
  • CentOS Stream 10
  • AlmaLinux 10
  • Rocky Linux 9

More generally: For the Primus PKCS#11 Provider, the script works on the supported Linux platforms. For the OpenSSL integration, the script works on Linux distributions that provide packages for OpenSSL and the OpenSSL pkcs11-provider.

Step 1: Prepare the HSM

You still need to configure the HSM and your Partition for use with PKCS#11. Follow the configuration instructions from the manual installation guide. In CloudHSM, the Partition has already been configured for you.

Make sure that you have the following values/credentials:

  • HSM URL/IP
  • HSM PKCS#11 port (default: 2310)
  • Partition name
  • Setup Password
  • PKCS#11 Password

Step 2: Download the script

Download the script.

Step 3: Download the Primus PKCS#11 Provider

Download the ZIP file of the latest Primus PKCS#11 Provider release. Move the ZIP file into the same directory as the script and extract it.

unzip PrimusAPI_PKCS11-v2.8.2.zip

Step 4: Run the script

Run the script to start the installation wizard:

sudo bash install-pkcs11.sh

This will install and configure both the Primus PKCS#11 Provider and the integration with OpenSSL via PKCS#11. The wizard prompts you for all necessary settings, such as your HSM hostname, port, Partition name, Setup Password, and PKCS#11 Password.

For more fine-grained control, the following subcommands are available:

Usage: install-pkcs11.sh <subcommand>

Subcommands:
install everything: install-pkcs11, configure-pkcs11, install-openssl, configure-openssl (default)
install-pkcs11 install/reinstall the Primus PKCS#11 Provider
install-openssl install OpenSSL + pkcs11-provider and clear any old openssl.cnf pkcs11 block
configure-pkcs11 write /etc/primus/primus.cfg and .secrets.cfg
configure-openssl write the openssl.cnf pkcs11 block (needs the packages + primus.cfg)
uninstall full removal: config (primus.cfg + .secrets.cfg + openssl.cnf pkcs11 block),
and packages (Primus PKCS#11 Provider, OpenSSL, pkcs11-provider).
remove-config remove primus.cfg + .secrets.cfg and the openssl.cnf pkcs11 block only

Options:
--help, -h show this help
--version, -V print the installer's release version

Environment variables:
NO_UNICODE use ASCII glyphs instead of Unicode, if set to NO_UNICODE=1

What the installer does

The installer automates the manual installation process of both PKCS#11 and OpenSSL.

The script will place and edit files in the following locations:

  • /usr/local/primus/
  • /etc/primus/
  • /etc/ssl/openssl.cnf (appends a pkcs11 provider block)

Additionally, the script will:

  • Put /usr/local/primus/bin on PATH system-wide (via /etc/profile.d/primus.sh)
  • Add the current user to the primus group (take affect at next login)

Check that it worked

For the Primus PKCS#11 Provider:

ppin --test

This should list your HSM Partition as OK.

For the OpenSSL integration:

openssl list -providers

Both default and pkcs11 should report status: active.

To test that you can use keys on Primus HSM through OpenSSL, see the OpenSSL CLI tutorial.

Troubleshooting

Please follow respective documentation for troubleshooting steps:

Get started withCloudHSM for free.
Other questions?Ask Sales.
Feedback
Need help?