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.

hsmadmin

Manages the administration of the HSM using different subcommands. See Administration of platform services in the Install Guide for your nShield HSM.

enquiry

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

  • 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 PCIe HSMs

See the Installation Guide for more information.

checkmod

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

cfg-mkdefault

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

cfg-remoteslots

Configures Remote Operator slot imports and exports. See Remote Operator.

cfg-reread

Load the hardserver configuration from the configuration file.

fet

  • 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 HSM, use the front panel rather than the fet utility.

For more information, see Enabling optional features

ncdate

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

ncversions

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

nfdiag

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.

a|hsmdiagnose a|Run automated health check against connected nShield HSMs. This diagnostic utility saves information to an XML file.

nopclearfail

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

You must use a privileged connection to use this utility with the following parameters:

  • change the mode of the HSM (nopclearfail -I/M/O)

  • Clear the module (nopclearfail -c)

For information about changing the nShield HSM mode, see Checking and changing the mode on an nShield 5s module.

nvram-backup

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

nvram-sw

View and modify information about NVRAM areas.

pubkey-find

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

randchk

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

retrievewarrants

Retrieves warrants stored within the HSM and writes them to a file.

rtc

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

By default, rtc reads the real-time clock of module 1.

  • --adjust: The module uses the difference between its idea of the current time and the new time, together with how long it’s been since the clock was last set, to compute how much its clock is drifting.

  • --set-clock: The module’s clock is set to either TIME, if it is provided as a list of six integers separated by non-digit characters, or to the host’s current time.

slotinfo

  • Obtain information about tokens in a module

  • Format a smart card

snmpbulkwalk snmpget snmpgetnext snmptable snmpset snmptest snmptranslate snmpwalk

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

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

stattree

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

For more information, see stattree: information utility.

sbin/logrotate-hardserver

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.

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 Level 2 Security Worlds.
Utility Enables you to…​

cryptest

Test all defined symmetric cryptographic mechanisms.

des_kat

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

floodtest

Perform hardware speed-testing by using modular exponentiation.

kptest

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

ncthread-test

Stress test modules and test nCore API concurrent connection support.

perfcheck

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

sigtest

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

ncperftest

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 passphrases.

  • Generate keys and transfer keys between Security Worlds.

Utility Enables you to…​

bulkerase

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.

cardpp

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

createocs

initunit

Initialize an nShield module.

For more information, see Erasing a module with initunit.

generatekey

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:

kmfile-dump

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

migrate-world

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

mkaclx

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.

new-world

Create and manage Security Worlds on nShield modules.

You must use a privileged connection to use this utility with the following parameter:

  • Initialize the HSM (new-world -e/i/l)

For more information, see:

nfkmcheck

Check Security World data for consistency.

nfkminfo

nfkmverify

Perform Security World verification.

postrocs

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.

ppmk

  • Create and manage softcards. Use this utility to:

  • View details of a softcard

  • Create and delete a softcard

  • View, change, and recover the passphrase of a softcard

For more information, see:

preload

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

racs

Create a new ACS to replace an existing ACS.

rocs

  • 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…​

elftool

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

hsc_loadseemachine

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

loadsee-setup

Set up the configuration of auto-loaded SEE machines.

modstate

View the signed module state.

see-sock-serv

see-stdioe-serv

see-stdioesock-serv

see-stdoe-serv

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…​

ckcerttool

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

ckcheckinst

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

ckimportbackend

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.

cknfkmid

View values of attributes of PKCS #11 objects.

ckshahmac

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

cksigtest

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

The Security World software enables you to use the following additional PKCS #11 utilities. For more information about these utilities, see the Cryptographic API Integration Guide.

Utility Enables you to…​

ckinfo

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

cklist

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.

ckmechinfo

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

ckrsagen

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

cksotool

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…​

pollbare

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.

trial

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

Utilities that require a privileged connection

You must be a privileged user, that is, use a privileged connection to the HSM, to run certain utilities with certain parameters.

Utility Use case

nopclearfail -I/M/O

Change the mode of the HSM

nopclearfail -c

Clear the module

new-world -e/i/l

Initialize the HSM