Supplied utilities

This appendix describes the executable command‑line utilities (utilities) that you can use for performing various configuration and administrative tasks related to your module.

These utilities exist in the bin subdirectory of your Security World Software installation. Unless noted, all utilities have the following standard help options:

  • -h|--help displays help for the utility.

  • -v|--version displays the version number of the utility.

  • -u|--usage displays a brief usage summary for the utility.

Utilities for general operations

Use the utilities described in this section to:

  • Check the module configuration and verify that it functions as expected.

  • Obtain statistics for checking the performance of the module.

Utility Enables you to…​


Obtain information about the hardserver (Security World Software server) and the modules connected to it.

Use this utility to:

  • Check if the software has been installed correctly

  • Check the firmware version

  • Check if the Remote Operator feature is enabled

  • Check the hardware status of nShield Solos

See the Installation Guide for more information.


Check modulo exponentiations performed on the module against the test data located in the opt/nfast/testdata directory.


Create a default client configuration file for the hardserver configuration sections.


Load the hardserver configuration from the configuration file.


  • Activate features on an nShield module connected to the host

  • View the status of features on a connected module

  • Verify that a feature has been successfully enabled on a connected module

To view the status of features, run the tool without a smart card. If a FEM card is not present, or if any of the features are not enabled successfully, the utility prompts you to indicate what to do next.

To enable features, and view the status of or verify features on an nShield Connect unit, use the front panel rather than the fet utility.

For more information, see Enabling features.


View, set, and update the time on a module’s real-time clock.


Obtain and verify the versions of the Security World Software components that are installed. This utility lists the following information:

  • Versions of all components, irrespective of whether they are installed individually or as part of a component bundle

  • Version of each component bundle


Obtain information about the module and the host on which it is installed. This diagnostic utility can save information to either a ZIP file or a text file.

For more information, see nfdiag: diagnostics utility.

Run this utility only if requested to do so by Support.


Ensure that a suitable warrant is available to allow a Security World to be dynamically managed using an nShield Solo or nShield Edge.

  • Identify modules that have the appropriate firmware/KLF2 key

  • Identify modules that need their KLF2 key to be warranted by Entrust

  • Generate a warrant upgrade request for a specific module, as required

  • Install an upgraded warrant

  • List KLF2 warrants

See Warrant Management for more information.


Clear an HSM, put an HSM into the error state, retry a failed HSM, or change the HSM mode.

For information about changing the nShield Edge mode, see Checking and changing the mode on an nShield Edge.

For information about changing the nShield Solo mode, see Checking and changing the mode on an nShield Solo module.

Solo XC only: Reboot the Solo XC, for example after a firmware upgrade, without needing to reboot the host, see Upgrading firmware only.


Copy files between a module’s NVRAM and a smart card, allowing files to be backed up and restored.


View and modify information about NVRAM areas.


Obtain information of the public key from a certificate or certificate request (in a Base-64 encoded PEM file).


Run a universal statistical test on random numbers returned by the module.


View and set the module’s real‑time clock.


  • Obtain information about tokens in a module

  • Format a smart card


Obtain system, module, connection and software information from the SNMP agent.

For more information, see Using the SNMP command-line utilities.


Obtain statistics gathered by the Security World Software server and modules.

For more information, see stattree: information utility.


Archive the existing hardserver log from /opt/nfast/log/hardserver.log and re-open as a fresh log file.

When run with no arguments, it will automatically archive the existing log to /opt/nfast/log/archive/hardserver.DATETIME.log (where DATETIME is the current date and time). The directory /opt/nfast/log/archive/ is created if it does not already exist.

Optionally, a single argument can be provided with the full file name to archive the existing hardserver log to.

This script must be run as root.

Hardware utilities

Use the following utilities to manage the firmware installed on an nShield HSM.

Utility Enables you to…​


Verify the firmware installed on a module.


  • Upgrade the module firmware

  • Obtain information about the firmware installed on a module

To determine the version security number of the firmware in a file and for more information, see Firmware on the installation media.

The loadrom command is intended to update Solo and Edge HSMs; it is not intended to be used to update a Connect firmware image.


Upgrade the module monitor and firmware of nShield Edge and nShield Solo modules.

For more information, see Upgrading firmware.

Test analysis tools

Use the following utilities to test the cryptographic operational behavior of a module.

All the listed utilities, except the floodtest utility, are supported only on FIPS 140‑2 Level 2 Security Worlds.
Utility Enables you to…​


Test all defined symmetric cryptographic mechanisms.


Perform DES known‑answer tests. This utility indicates if any of them fail.


Perform hardware speed‑testing by using modular exponentiation.


Test the consistency of encryption and decryption, or of signature and verification, with the RSA and DSA algorithms.


Stress test modules and test nCore API concurrent connection support.


Run various tests to measure the cryptographic performance of a module. For more information, see perfcheck: performance measurement checking tool.


Measure module speed using RSA or DSA signatures or signature verifications.


Test the performance of various crypto commands using attached nShield hardware. Available since v12.10 it contains all the functionality in sigtest and floodtest as well as several new features and greater accuracy and throughput capability in performance management.

Security World utilities

Use the utilities described in this section to:

  • Set up and manage Security Worlds.

  • Create and manage card sets and pass phrases.

  • Generate keys and transfer keys between Security Worlds.

Utility Enables you to…​


Erase multiple smart cards including Administrator Cards, Operator Cards, and FEM activation cards, in the same session.

Do not use the bulkerase utility to erase Administrator Cards from the current Security World.


Change, verify, and recover a pass phrase of an Operator Card. For more information, see:



Initialize an nShield module.

For more information, see Erasing a module with initunit.


Generate, import, or retarget keys. This utility is included in the Core Tools bundle, which contains all the Security World Software utilities. For more information, see:


Obtain key management information from a Security World’s key management data file.


Migrate existing keys to a destination Security World. For more information, see Security World migration.


Generate non-standard cryptographic keys that can be used to perform specific functions, for example, to wrap keys and derive mechanisms. This utility includes options that are not available with the generate-key utility.

Ensure that you run the mkaclx utility with the options that are appropriate for your security infrastructure. If the appropriate options are not chosen, the security of existing keys might potentially be compromised.


Create and manage Security Worlds on nShield modules.

For more information, see:


Check Security World data for consistency.



Perform Security World verification.


Transfer PKCS #11 keys to a new card set in the new Security World. When transferring keys by using either the key-xfer-im utility or the migrate-world utility, run the postrocs utility if there are any PKCS #11 keys that are protected by OCSs.

PKCS #11 keys either have keys_pkcs_um or key_pkcs_uc as the prefix.


  • Create and manage softcards. Use this utility to:

  • View details of a softcard

  • Create and delete a softcard

  • View, change, and recover the pass phrase of a softcard

For more information, see:


Load keys into a module before an application is run in another session.


Create a new ACS to replace an existing ACS.


  • Restore an OCS from a quorum of its cards

  • Restore softcards

For more information, see:

CodeSafe utilities

Use the following helper utilities to develop and sign SEE machines. For more information about these utilities, see the CodeSafe Developer Guide.

Utility Enables you to…​


Convert ELF format executables into a format suitable for loading as an SEE machine.


Load an SEE machine into each module that is configured to receive one, then publishes a newly created SEE World, if appropriate.


Set up the configuration of auto‑loaded SEE machines.


View the signed module state.





Activate or enable standard IO and socket connections for SEE machines using the bsdlib architecture.

tct2 (Trusted Code Tool)

Sign, pack, and encrypt file archives so that they can be loaded onto an SEE‑ready nShield module.

PKCS #11

Use the following utilities to manage the interfaces between the PKCS #11 library and the module.

Utility Enables you to…​


Import a certificate as a PKCS #11 CKO_CERTIFICATE object of type CKC_X_509, and optionally, associate it with the corresponding private key.


Verify the installation of the nShield PKCS #11 libraries. For more information, see Checking the installation of the nCipher PKCS #11 library.


Generate keys for use with PKCS #11 applications. When you run the generatekey utility to generate PKCS #11 keys, the ckimportbackend utility is executed in the background.

Do not run this utility unless directed to do so by Support.


View values of attributes of PKCS #11 objects.


Perform a PKCS #11 test for vendor‑defined SHA1_HMAC key signing and verification capabilities.


Measure module signing or encryption speed when used with nShield PKCS #11 library calls.

If you have installed Cipher Tools, you can use the following additional PKCS #11 utilities. For more information about these utilities, see the Cryptographic API Integration Guide.

Utility Enables you to…​


View PKCS #11 library, slot, and token information. Use this utility to verify that the library is functioning correctly.


View details of objects on all slots. If invoked with a PIN argument, the utility lists public and private objects. If invoked with the ‑n (--nopin) option, the utility lists only the public objects.

This utility does not output any potentially sensitive attributes, even if the object has CKA_SENSITIVE set to FALSE.


View details of the supported PKCS #11 mechanisms provided by the module.


Test RSA key generation. You can use specific PKCS #11 attributes for generating RSA keys.


Create a PKCS #11 Security Officer role, and manage its PIN.

Developer-specific utilities

Use the following utilities to ensure that the HSMs are functioning as expected and to test the cryptographic functionality at the nCore level.

Utility Enables you to…​


Obtain information about state changes. The functionality of this test utility depends on whether the server or an HSM supports nCore API poll commands.

To know if your server or HSM supports nCore API poll commands, run the enquiry utility.


Test the nCore API commands. You can use this utility interactively or from a script file.