HID® Crescendo® PKCS11
Installation

Windows

HID Crescendo PKCS#11 can be downloaded as a driver package from HID’s web site: http://www.hidglobal.com/drivers.

Instalation steps

  1. Run the HID Crescendo PKCS#11 installer and click Next.
  2. Accept the terms in License Agreement and click Next.
  3. Choose the folder where HID Crescendo PKCS#11 will be installed and click Next.
  4. Click Install.

Once the installation is complete, the x86 and x64 PKCS#11 DLLs will be copied to the previously specified folder, and the necessary logging infrastructure (including folders and registry entries) will be set up.

Follow your application vendor's instructions to enable the use of installed HID Crescendo PKCS#11 in an application.

Note
Most general-purpose applications (Firefox, Chrome, Adobe Reader, Outlook) do not need the PKCS#11 module and will use the Crescendo Minidriver instead. The minidriver is provided as a free download on the HID website as well as via Windows Update.

Linux

Supported Distributions

Note that HID provides official support only for the following distributions:

  • Ubuntu 24.04
  • Red Hat Enterprise Linux 9

The software may work on other systems but has not been tested by HID.

Application Support

Note that HID provides official support only for the following applications:

  • Firefox

The software may work on other systems (such as Thunderbird and Chrome-based browsers) but has not been tested by HID.

Debian, Ubuntu & Debian-Based Distributions

Install the provided deb file using your distributions package manager or by running the following command in a terminal

sudo apt install libcrescendo-pkcs11_<version>.deb

This will install the PKCS#11 module shared library into /usr/lib and register it with p11-kit. It will also try to automatically set up Firefox for all users in the system so that the module is usable with Firefox.

Note

If Firefox is installed via snap (the default in Ubuntu 24.04), any updates to Firefox may cause it to no longer recognize the PKCS#11 module. If this is the case, running the following command, after the update is performed, should fix this:

sudo pkcs11-crescendo-register --apparmor

For more information see the man page of the pkcs11-crescendo-register command:

man pkcs11-crescendo-register

Red Hat, RPM-Based Distributions & Other Systems

Install pcsc-lite (both library & daemon) and libstdc++. An example of how to install both components on Red Hat from terminal:

dnf install pcsc-lite pcsc-lite-libs libstdc++
systemctl start pcscd.service

Unpack the provided tgz file into /opt/hid/lib-crescendo-pkcs11 and run the following commands as root:

/opt/hid/lib-crescendo-pkcs11/bin/pkcs11-crescendo-register --system -m /opt/hid/lib-crescendo-pkcs11/lib/libcrescendo-pkcs11.so

This command will try to automatically set up Firefox for all users in the system so that the module is usable with Firefox.

Configuration

Windows

The library can be configured via the Windows Registry. This release supports the following registry keys:

Registry Location Key Name Values Default Description
SOFTWARE\HID Global\Logging\Products\Crescendo Enabled DWORD (0/1) 0 If set to 1, the library will generate logs
SOFTWARE\HID Global\SecurityModuleMW\DiscoveryProvider DisableCaching DWORD (0/1) 0 Disables caching

In this release, the registry keys will only be looked up in the HKEY_LOCAL_MACHINE registry hive. It is expected that more registry hives will be considered in future releases.

Linux

The library can be configured via ini-formatted files. It looks for configuration in the following locations:

# Systemwide configuration
/etc/hid-pkcs11.ini

# User configuration
$XDG_CONFIG_HOME/hid-pkcs11.ini
$HOME/.config/hid-pkcs11.ini
$XDG_CONFIG_DIRS.../hid-pkcs11.ini

User configuration will be read from the first available file, if any, and will override any configuration from the system-wide configuration file. Note that the relevant user is the one running the process which loads the PKCS#11 module.

Additionally, configuration will be read from the environment, which will override any settings from the files. Configuration via environment variables is done by setting an environment variable with the name of the configuration key prefixed by HIDGLOBAL_.

This release supports the following settings:

Setting name Values Default Description
LOGGING_ENABLED true/false false The library will generate logs
PERSISTENT_CACHE_DISABLED true/false false Disables caching