You can configure a Hardware Security Module (HSM) to store and protect your cryptographic keys. Optionally, you can use the software-based SoftHSM implementation for demonstration or testing purposes.

The following covers how to configure a Securosys Primus HSM for the Software Appliance. For more information on the Securosys Primus HSM, refer to the Securosys Primus product documentation that you received with your purchase of the HSM.

Configuring an HSM for the Software Appliance is irrevocable. To change an HSM configuration, you must reset the Software Appliance.

To configure a Securosys Primus HSM for your Software Appliance, follow the steps below.

If you run into issues after the configuration, you can get HSM specific log messages from a HSM Support Package. For further information please refer to Create an HSM Log.

Connect the Software Appliance with the Securosys Primus HSM

To connect the Software Appliance with the HSM:

  1. Log in to your Software Appliance and open the Security page or click Configure HSM in the Overview.
  2. In the HSM Configuration section, select Securosys Primus HSM to access the Configuration fields.





Securosys Primus HSM Configuration

There are 3 different tables that are currently empty. 

  1. one is for the HSM Devices,



  2. one is for the Slots,



  3. and one is for Permanent Secrets.



  4. Further down there is a Miscellaneous section where you can provide details.
    The individual sections are: Wait Delay, Wait Retries, Trace Level or set the Trace PKCS#11 function inputs.




  5. Adjust the settings if applicable.
  6. Confirm your entries with Save HSM Configuration.

    A warning appears to inform you that after saving HSM configuration you can no longer switch to a different HSM.

    To change the HSM configuration, you need to reset your EJBCA Software Appliance. Proceed by clicking Activate.

  7. In the Overview you can now see that Securosys Primus HSM is listed, but Not Connected and no device is configured yet.



    Go back to the Security page and procced with Add HSM Device.

Add HSM Device

  1. To add a HSM Device click Add HSM Device in the Primus HSM Devices table.
  2. Start with entering the HSM IP Address / FQDN to add a device.
  3. Enter the HSM Port.
  4. If applicable specify the Priority in selecting a redundant HSM. If you configure the first HSM leave the value 0.

    For more information on how to set the priority, please refer to the Securosys Primus HSM product documentation that you received when you purchased the HSM.

  5. Click Add HSM Device to confirm your settings.



    A warning appears to inform you that changing the configuration of your HSM will restart all applications on your EJBCA Software Appliance.

  6. Continue with Save.


The device will now be listed in the table Primus HSM Devices. Here you can now preform actions such as Edit Device or Remove Device.



You can of course add multiple devices. Just repeat the process as described before.

Managed HSM Slots

There are no slots configured for this HSM at this time.

Add HSM Slot

  1. To add a slot click Add HSM Slot.
  2. At the first line: HSM Device, select the HSM for which the slot is to be defined. If several HSM Devices are configured, you can open the corresponding list using the drop-down menu.
  3. Continue to specify the Slot ID.
  4. Next you must specify a Username.
  5. You can configure an optional Client ID to identify the client or the application.



Slot Setup

  1. Enter the slot Setup Password.

  2. Provide the PKCS#11 Password of the slot (PIN/Password).



    If there is a proxy in front of the HSM, the proxy settings have to be added first. If this is not the case, you can click Add HSM Slot to confirm the HSM slot configuration.


Proxy Settings

  1. Add the Proxy User.
  2. Enter the Proxy Password.



  3. Click Add HSM Slot to confirm the HSM slot configuration.

    A warning appears to inform you that changing the configuration of your HSM will restart all applications on your EJBCA Software Appliance.

  4. Finalize with Save.

Permanent Secrets

After the configuration of the HSM Slots, the user name (partition) will be displayed under Permanent Secrets.





Should the password for the partition change you can Re-Initialize the Permanent Secret for a user or proxy.



Re-Initialize Permanent Secrets

It is possible to Re-Initialize Permanent Secrets for the User or for the Proxy.


  1. From the list Permanent Secrets select the line of the Username you want to edit.
  2. In the column Actions click Re-Initialize to open the form.
  3. Enter the New Credentials.
  4. To confirm your settings click Re-Initialize.



    A warning appears to inform you that changing the configuration of your HSM will restart all applications on your EJBCA Software Appliance.

  5. Finalize with Save.

On the Security page of the application, the status of the HSM Driver will change from Not Connected to Connected as soon as the configuration is completed.

On the Overview page of the application, the status in the HSM Overview also changes to Connected as soon as the configuration is completed. During configuration, the appliance is in the Restarting status. During this time, it is not available.


Once EJBCA is running again, you can proceed with adding a crypto token.

Add a Crypto Token in EJBCA Enterprise

To create a crypto token:

  1. In the Overview page of the Software Appliance, click Admin Web for EJBCA.
  2. The EJBCA Enterprise page opens. Leave the settings on the Installation page as they are.
  3. In the sidebar, in the CA Functions section, select Crypto Tokens.




  4. On the Manage Crypto Tokens page, click Create New...

The individual configuration of the Crypto Token depends on the configuration of the HSM! For detailed Information please see managing crypto tokens.


HSM Troubleshooting

In the section HSM Driver Controls the current HSM Driver Status is displayed.
In case of HSM problems, the HSM driver can be restarted via the Restart button.