Oracle Key Vault HSM Support Guidance
The Oracle Key Vault HSM support guidance provides information about troubleshooting and vendor specific notes.
-
Oracle Key Vault provides general troubleshooting help. Vendor-specific notes cover vendor-specific troubleshooting.
-
Vendor Specific Notes for Thales
Oracle Key Vault supports integration with Thales (formerly Safenet Luna) NetworkHSM version 7000, but does not support Host Trust Link (HTL) for Thales HSM.
-
Vendor Specific Notes for Entrust
You can integrate Oracle Key Vault release 12.2 BP 3 and later with the HSM from Entrust nShield Connect + and XC models.
-
Vendor Specific Notes for Utimaco
Oracle Key Vault supports Oracle Key Vault integration with Utimaco SecurityServer 4.31.1.
-
Vendor Specific Notes for Other HSMs
For HSMs other than Thales Luna Network HSM version 7000, Entrust nShield Connect + and XC models, or Utimaco’s SecurityServer 4.31.1, Oracle Key Vault supports an integration with HSM vendors that meet the Oracle Key Vault requirements.
General Troubleshooting
Oracle Key Vault provides general troubleshooting help. Vendor-specific notes cover vendor-specific troubleshooting.
-
Trace Files for Diagnosing Issues
Oracle Key Vault provides trace files so that you can better diagnose issues that may arise.
-
Oracle Key Vault provides an alert mechanism that periodically monitors the HSM configuration to check for Root of Trust key availability and file health.
-
Could Not Get Slot for HSM Error
The
Could Not Get Slot for HSMerror indicates that Oracle Key Vault could not get a slot from the HSM. -
Could Not Load PKCS#11 Library Error
The
Could Not Load PKCS#11 Libraryerror indicates that Oracle Key Vault could not load the PKCS#11 library. -
The Oracle Key Vault management console may not appear after you restart the HSM-enabled Oracle Key Vault server.
-
The
okv_security.conffile contains settings that can help you diagnose primary-standby errors. -
Errors from HSM-Enabled Oracle Key Vault Backups
You can use the
cwallet.ssofile to diagnose HSM-enabled Oracle Key Vault backup errors. -
Restoration of a Backed Up HSM-Enabled Oracle Key Vault Server
Before you restore a backup that was taken on an HSM-enabled Oracle Key Vault server, ensure that you have set the same HSM credential and token label that were used when the backup was taken.
Trace Files for Diagnosing Issues
Oracle Key Vault provides trace files so that you can better diagnose issues that may arise.
Use these trace files to more finely diagnose issues when you attempt hardware security module operations. These trace files are located in the /var/okv/log/hsm/ directory on the Oracle Key Vault server. To see the most recently failed operation, you can sort the trace files by their last modified time. For example, ls -ltr /var/okv/log/hsm lists the most recently modified trace files at the bottom of the list.
HSM Alert
Oracle Key Vault provides an alert mechanism that periodically monitors the HSM configuration to check for Root of Trust key availability and file health.
When an Oracle Key Vault server is HSM-enabled, Oracle Key Vault contacts the HSM every five minutes (or whatever you have set the monitoring interval to on the Configure Alerts page) to ensure that the Root of Trust key is available and the TDE wallet password can be decrypted. When a problem in the HSM configuration arises (for example, the HSM cannot be reached or if there are conflicting keys in the HSM with the same ID), then the up arrow on the Hardware Security Module page (accessed by selecting the System tab, then Settings, then in the Network Services area, clicking HSM) switches to a down arrow and an alert is raised. The down arrow signifies that the HSM is not configured or the HSM configuration has a problem. When an alert has been raised, the following error message appears: HSM configuration error. Please refer to the HSM Alert section in the Oracle Key Vault Root of Trust HSM Configuration Guide.
If this alert appears, then follow these steps:
-
Log in as the
rootuser:ssh support@okv_instance_ip_address su - root -
Back up the SSO wallet. For example:
cp /mnt/okvram/cwallet.sso /var/lib/oracle/cwallet_hsm_backup.sso -
Switch to the oracle user:
su - oracle -
Diagnose the source of the alert.
The following
verifycommand should show why the alert was raised. Thels -ltrhcommand shows the most recent log file at the bottom of the output./usr/local/okv/hsm/bin/hsmclient verify cd /var/okv/log/hsm ls -ltrh -
If you cannot resolve this problem, then contact Oracle Support.
Could Not Get Slot for HSM Error
The Could Not Get Slot for HSM error indicates that Oracle Key Vault could not get a slot from the HSM.
Consult the most recent trace files for more details. Possible causes include providing an invalid or nonexistent token label and the HSM failing to return a list of slots.
Could Not Load PKCS#11 Library Error
The Could Not Load PKCS#11 Library error indicates that Oracle Key Vault could not load the PKCS#11 library.
Possible reasons for this error could be due to file permission issues or failing to properly deploy the HSM client software on Oracle Key Vault. More details can be found in recent trace files. Oracle looks for the PKCS#11 library at the following locations, depending on the vendor:
-
For Thales,
/usr/safenet/lunaclient/lib/libCryptoki2_64.so -
For Entrust,
/opt/nfast/toolkits/pkcs11/libcknfast.so -
For Utimaco,
/opt/utimaco/lib/libcs_pkcs11_R2.so
Oracle Key Vault Management Console Does Not Start After Restarting HSM-Enabled Oracle Key Vault Server
The Oracle Key Vault management console may not appear after you restart the HSM-enabled Oracle Key Vault server.
If this happens, then log in to the Oracle Key Vault server using SSH as user support, switch to user root, then switch to the user oracle:
ssh support@okv_instance_ip_address
su root
su oracle
cd /usr/local/okv/hsm/bin
./hsmclient open_wallet
If the open_wallet command succeeds, the database will open and the management console will appear, unless there is another non-HSM problem. If the command does not succeed, then check the recent log files under /var/okv/log/hsm and check for vendor-specific instructions.
Primary-Standby Errors
The okv_security.conf file contains settings that can help you diagnose primary-standby errors.
-
Check that the files have been transported to the standby server.
Execute the command
ls -las root on the standby server:ls -l /usr/local/okv/hsm/wallet -rw------- 1 oracle oinstall 324 May 16 22:57 cwallet.sso -rw------- 1 oracle oinstall 176 May 16 22:57 enctdepwd ls -l /usr/local/okv/hsm/restore -rw------- 1 oracle oinstall 320 May 16 22:57 ewallet.p12You should see
cwallet.ssoandenctdepwd inthe/usr/local/okv/hsm/walletdirectory andewallet.p12in the/usr/local/okv/hsm/restoredirectory. -
Check that the mode is set to HSM on the standby server:
Open the file
okv_security.confasrooton the standby server:cat /usr/local/okv/etc/okv_security.conf Look for the line: HSM_ENABLED="1"You should see the number within double quotes.
-
Check the vendor-specific instructions.
Errors from HSM-Enabled Oracle Key Vault Backups
You can use the cwallet.sso file to diagnose HSM-enabled Oracle Key Vault backup errors.
You should check that the pre_restore command has been run on the target as follows:
Execute the command ls -l as root on the Oracle Key Vault server to which you are restoring the backup:
ls -l /usr/local/okv/hsm/wallet
-rw------- 1 oracle oinstall 324 May 16 22:57 cwallet.sso
You should see the wallet file cwallet.sso, which indicates that the credential has successfully been set and stored on Oracle Key Vault.
You should also check that you have followed the instructions from the HSM vendor. In addition, check the most recent log files generated by the recent backup restore, which are in the /var/okv/log/db directory.
Restoration of a Backed Up HSM-Enabled Oracle Key Vault Server
Before you restore a backup that was taken on an HSM-enabled Oracle Key Vault server, ensure that you have set the same HSM credential and token label that were used when the backup was taken.
The HSM credential for Thales is the Thales partition password. For Entrust, the credential is the password that is associated with the Operator Card Set or Softcard. For Utimaco, the credential is the PIN that was initialized when the token was configured.
When using the Set Credential operation, if you enter an incorrect credential or token label, or if Oracle Key Vault is unable to connect to the HSM, then the operation will not succeed and the credential, token label, and vendor provided will not be stored. Ensure that Oracle Key Vault has been enrolled as a client of the HSM and then ensure that the correct credential and token label are entered such that Oracle Key Vault will be able to access the same Root of Trust key that was in use when the backup was taken.
For more information about enrolling Oracle Key Vault as a client of the HSM, see Enrolling Oracle Key Vault as a Client of the HSM.
Vendor Specific Notes for Thales
Oracle Key Vault supports integration with Thales (formerly Safenet Luna) NetworkHSM version 7000, but does not support Host Trust Link (HTL) for Thales HSM.
Note: Starting Oracle Key Vault 21.8, usage of Thales, Entrust, and Utimaco vendor specific configuration and notes is deprecated. To establish a Root-of-Trust for Oracle Key Vault in the HSM, instructions provided by the HSM vendor should be used instead.
You must use the Luna Universal Client version 6.2.2 for Linux x64 for installation when integrating Oracle Key Vault with Thales. If you use a different client version, consult your vendor and use the infrastructure provided to integrate Oracle Key Vault with other HSMs.
-
The HSM credential is the Thales partition password.
-
The token label for Thales is the name of the partition.
-
Enrolling Oracle Key Vault as a Client of a Thales HSM
To perform the enrollment, you use the Oracle Key Vault management console and the command-line interface.
-
For Thales, the provider value is 1.
-
HSM Vendor Specific Checks for Thales
You should check the Thales vendor-specific settings.
Installing the HSM Client Software on the Oracle Key Vault Server for Thales
You must use the Luna Universal Client version 6.2.2 for Linux x64 for installation when integrating Oracle Key Vault with Thales. If you use a different client version, consult your vendor and use the infrastructure provided to integrate Oracle Key Vault with other HSMs.
-
Obtain the latest Luna Universal client software package for Linux x64.
-
Transport the Thales client software package to the Oracle Key Vault machine. Oracle recommends using SCP. For example, assuming the Thales client software packages is called
safenet.tar:scp safenet.tar support@okv_instance_ip_address:/tmp -
Install the Thales client software on Oracle Key Vault.
-
Log in to the Oracle Key Vault Server through SSH as user
support, and switch usersutoroot:ssh support@okv_instance_ip_address su root cd /usr/local/okv/hsm -
Find the Linux 64-bit packages:
tar -tvf /tmp/safenet.tar | grep 'linux/64/'; Output: "SafeNet_package_version/linux/64/" -
Only extract the Linux 64-bit packages:
tar -xvf /tmp/safenet.tar SafeNet_package_version/linux/64/ cd SafeNet_package_version/linux/64 -
Run following command to check digest algorithm for all of the
rpms.rpm --checksig -v *.rpmNote: If you are installing Luna Universal client software on a FIPS enabled Oracle Key Vault instance then make sure that all of the
rpmsin software package have at least SHA-256 digest. In case you cannot get software package with all of therpmswith SHA-256 digest, disable FIPS before install, install the package and enable FIPS again. -
Run the command to start the installation of the software.
./install.sh -
Accept the Thales license by typing
yat the prompt. -
Install the Luna SA by entering
1,n,iat the successive prompts.This installs the Thales software in the directory
/usr/safenet/lunaclient. -
Delete the
safenet.tarfile from the/tmpdirectory.rm -f /tmp/safenet.tar
HSM Credential for Thales
The HSM credential is the Thales partition password.
If you are using Thales as your HSM, then you can use the Thales assignPassword command to assign a password for a partition. However, do not do this when a partition is currently in use by an Oracle Key Vault server, because Oracle Key Vault will no longer be able to access the Root of Trust key as its stored credential will no longer be correct.
Token Label for Thales
The token label for Thales is the name of the partition.
Enrolling Oracle Key Vault as a Client of a Thales HSM
To perform the enrollment, you use the Oracle Key Vault management console and the command-line interface.
-
Log in to the Oracle Key Vault management console as a user who has the System Administrator role.
-
Set up the DNS servers.
When enrolling Oracle Key Vault as a client of a Thales HSM, if the HSM will be registered using a host name, you should first set up DNS using the Oracle Key Vault the management console. To access the DNS settings, select the System tab, and then from the left navigation bar, select Settings. In Network Services, click DNS.
You must configure the DNS servers on each Oracle Key Vault server that you plan to register as a client of the HSM. In a primary-standby environment, configure the DNS servers on both primary and standby server before pairing. For a multi-master cluster, configure DNS on each node in the cluster that will be registered as a client of the HSM.
-
Exchange certificates between Oracle Key Vault and the Thales SA HSM.
Log in to the Oracle Key Vault Server through SSH as user
support, then switch user (su) toroot:ssh support@okv_instance_ip_address su root cd /usr/safenet/lunaclient/bin scp admin@hsm_hostname:server.pem . ./vtl addServer -n hsm_hostname -c server.pem ./vtl createCert -n okv_hostname scp /usr/safenet/lunaclient/cert/client/okv_hostname.pem admin@hsm_hostname:You must enter the HSM administrative password when using SCP with the HSM.
-
Register Oracle Key Vault as a client of the Thales SA.
This assumes that you have a partition set up on the Thales SA HSM. You can use any client name that is not yet taken. Oracle recommends using a descriptive name that will identify the Oracle Key Vault instance.
Access the HSM administrative console by using SSH to
admin@hsm_hostnameand providing the administrative password:client register -client client_name -hostname okv_hostname client hostip map -c client_name -i okv_ip_address client assignPartition -client client_name -partition partition_name -
Verify the enrollment as follows:
Log in to Oracle Key Vault as the support user using SSH:
ssh support@okv_instance_ip_address su root cd /usr/safenet/lunaclient/bin ./vtl verifyThe following output appears:
The following Luna SA Slots/Partitions were found: Slot Serial # Label ==== ========== ===== 1 serial_number partition_name
HSM Provider Value for Thales
For Thales, the provider value is 1.
If you are setting this value manually for a primary-standby configuration, then set HSM_PROVIDER="1" in the okv_security.conf file. For more information about enabling HSM in a primary-standby deployment, see Enabling HSM in a High Availability Deployment.
HSM Vendor Specific Checks for Thales
You should check the Thales vendor-specific settings.
-
Log in to the Oracle Key Vault server as user
supportusing SSH:ssh support@okv_instance_ip_address su root -
Execute the
vtl verifycommand.cd /usr/safenet/lunaclient/bin ./vtl verifyThe following output appears when the HSM is set up properly:
The following Luna SA Slots/Partitions were found: Slot Serial # Label ==== ======== ===== 1 [serial #] [partition name]If you do not see this output, then it means that the HSM is not set up properly. You can diagnose further by completing the remaining steps in this procedure.
-
Log into the Thales SA administrative console.
-
Run the following command:
client show -client <client_name> -
Verify that the expected client exists and is assigned a partition.
-
If it does not exist, then register the client with the following command:
client register -client <client_name> -hostname <host_name> -
If no partition is assigned, assign a partition with the following command:
client assignPartition -client <client_name> -partition <partition_name> -
Verify that all client IP addresses are mapped correctly. If entries are missing, run the following command:
client hostip map -c <client_name> -i <ip_address> -
Verify that Oracle Key Vault can reach the HSM using the
vtl verifycommand:su root cd /usr/safenet/lunaclient/bin ./vtl verifyThe output should look similar to the following output:
The following Luna SA Slots/Partitions were found: Slot Serial # Label ==== ======== ===== 1 [serial #] [partition name]If the command fails, then it means that the Oracle Key Vault server is unable to contact the HSM. Check the vendor’s other troubleshooting sections for instructions to restore
vtl verifyfunctionality. Contact your HSM administrator and confirm that Oracle Key Vault’s access to the HSM has not been revoked. If you are unable to resolve the problem, then contact Oracle Support.
Vendor Specific Notes for Entrust
You can integrate Oracle Key Vault release 12.2 BP 3 and later with the HSM from Entrust nShield Connect + and XC models.
Note: Starting Oracle Key Vault 21.8, usage of Thales, Entrust, and Utimaco vendor specific configuration and notes is deprecated. To establish a Root-of-Trust for Oracle Key Vault in the HSM, instructions provided by the HSM vendor should be used instead.
-
Installing the HSM Client Software on the Oracle Key Vault Server for Entrust
The Entrust HSM requires a separate non-HSM computer on the network to use as the remote file system.
-
The HSM credential for Entrust is the password that is associated with the Operator Card Set or Softcard.
-
The token label for Entrust is the name of the Operator Card Set or Softcard.
-
Enrolling Oracle Key Vault as a Client of an Entrust HSM
You use both the Entrust user interface and the command line to enroll Oracle Key Vault as a client of an Entrust HSM.
-
HSM Provider Value for Entrust
For Entrust, the provider value is 2.
Installing the HSM Client Software on the Oracle Key Vault Server for Entrust
The Entrust HSM requires a separate non-HSM computer on the network to use as the remote file system.
-
Set up the remote file system.
-
Log in to the Oracle Key Vault server as support user using SSH:
ssh support@okv_instance_ip_address -
Switch to
root:su root -
Go to the
rootdirectory and create the directoriesctls,hwsp, andpkcs11:cd /root mkdir ctls mkdir hwsp mkdir pkcs11 -
Transfer the Entrust software installation files using the Secure Copy (SCP) protocol as follows:
For example:
scp user@remote_file_system_computer:/source_directory/ncipher/nfast/ctls/agg.tar ctls scp user@remote_file_system_computer:/source_directory/ncipher/nfast/hwsp/agg.tar hwsp scp user@remote_file_system_computer:/source_directory/ncipher/nfast/pkcs11/user.tar pkcs11 -
Install the following files:
cd / tar xvf /root/ctls/agg.tar tar xvf /root/hwsp/agg.tar tar xvf /root/pkcs11/user.tar /opt/nfast/sbin/install -
As
root, perform additional edits to the groups and service file on the Oracle Key Vault server:usermod -a -G nfast oracle vi /etc/systemd/system/nc_hardserver.serviceInside the
vieditor, edit the file so that the lineBefore=dbfwdb.serviceis added after the line that starts withAfter=.For example, before the change:
[Unit] Description=nFast hardserver service Wants=remote-fs.target rsyslog.service nc_drivers.service nc_exard.service After=remote-fs.target rsyslog.service nc_drivers.service nc_exard.serviceAfter the change, it looks like this:
[Unit] Description=nFast hardserver service Wants=remote-fs.target rsyslog.service nc_drivers.service nc_exard.service After=remote-fs.target rsyslog.service nc_drivers.service nc_exard.service Before=dbfwdb.service -
Switch to user
oracleand verify the installation:su oracle PATH=/opt/nfast/bin:$PATH export PATH enquiryThe state should display
operationalin the output. -
Restart Oracle Key Vault for the group change to take effect.
In the Oracle Key Vault management console, log in as a user with the System Administrator role. Select the System tab, and then select Status in the left navigation bar. Then click the Reboot button.
HSM Credential for Entrust
The HSM credential for Entrust is the password that is associated with the Operator Card Set or Softcard.
The HSM-credential if they use an Operator Card Set is the Operator Card Set password. If they use a Softcard, then the password is the Softcard password.
Token Label for Entrust
The token label for Entrust is the name of the Operator Card Set or Softcard.
Enrolling Oracle Key Vault as a Client of an Entrust HSM
You use both the Entrust user interface and the command line to enroll Oracle Key Vault as a client of an Entrust HSM.
-
Add the Oracle Key Vault server IP address to the client list on the HSM using the front panel. Select privileged on any port.
-
In a primary-standby environment, register both the primary server and the standby server to use the Entrust HSM.
-
In a multi-master cluster environment, register each Oracle Key Vault node that will use the Entrust HSM.
-
-
Switch to user
oracle:su oracle PATH=/opt/nfast/bin:$PATH export PATH -
On the Oracle Key Vault server, enroll with the HSM:
nethsmenroll hsm_ip_address hsm_esn hsm_keyhash -
Configure the TCP sockets:
config-serverstartup --enable-tcp --enable-privileged-tcp -
Switch back to
rootfromoracleby enteringexit.exit -
In
root, restart the hardserver (Entrust client process that communicates with the HSM):/opt/nfast/sbin/init.d-ncipher restart -
On the remote file system computer, run the following command:
/opt/nfast/bin/rfs-setup --gang-client --write-noauth okv_server_ip_address -
On the Oracle Key Vault server, as user
oracle, run the following commands:/opt/nfast/bin/rfs-sync --setup --no-authenticate remote_file_system_ip_address /opt/nfast/bin/rfs-sync --updateA prompt appears listing the module. You can confirm or exit.
-
As a
rootuser, test PKCS#11 access as follows:/opt/nfast/bin/ckcheckinst -
Create the configuration file
/opt/nfast/cknfastrcas userroot. Write the following lines to the file:CKNFAST_NO_ACCELERATOR_SLOTS=1 CKNFAST_OVERRIDE_SECURITY_ASSURANCES=none -
Perform the steps described in HSM-Enabling in a Standalone Oracle Key Vault Deployment.
-
On the Oracle Key Vault server, as user
oraclerun the command:/opt/nfast/bin/rfs-sync --commitIf you do not run this command after each HSM initialize operation, then the Root of Trust key may not be available for other operations such as restoring backups and setting up a primary-standby configuration.
HSM Provider Value for Entrust
For Entrust, the provider value is 2.
If you are setting this value manually for the primary-standby, then set HSM_PROVIDER="2". For more information about enabling HSM in a primary-standby deployment, see Enabling HSM in a High Availability Deployment.
Vendor Specific Notes for Utimaco
Oracle Key Vault supports Oracle Key Vault integration with Utimaco SecurityServer 4.31.1.
Note: Starting Oracle Key Vault 21.8, usage of Thales, Entrust, and Utimaco vendor specific configuration and notes is deprecated. To establish a Root-of-Trust for Oracle Key Vault in the HSM, instructions provided by the HSM vendor should be used instead.
-
Installing the HSM Client Software on the Oracle Key Vault Server for Utimaco
The setup files for Utimaco are provided in the
SecurityServerEvaluation-V4.31.1.0.zipfile from Utimaco. -
The HSM credential for Utimaco is the PIN that was initialized when the token was configured.
-
The token label for Utimaco is the name of the token that was set up for the HSM.
-
HSM Provider Value for Utimaco
For Utimaco, the provider value is 3.
-
HSM Vendor Specific Checks for Utimaco
You should check the Utimaco vendor-specific settings.
Installing the HSM Client Software on the Oracle Key Vault Server for Utimaco
The setup files for Utimaco are provided in the SecurityServerEvaluation-V4.31.1.0.zip file from Utimaco.
-
Locate the necessary setup files provided in the
SecurityServerEvaluation-V4.31.1.0.zipfile from Utimaco. -
After unzipping the Utimaco zip file, transport the necessary files to the Oracle Key Vault machine. Oracle recommends using SCP. For example:
scp unzip_directory/Software/Linux/x86-64/Crypto_APIs/PKCS11_R2/sample/cs_pkcs11_R2.cfg support@okv_instance_ip_address:/tmp scp unzip_directory/Software/Linux/x86-64/Crypto_APIs/PKCS11_R2/lib/libcs_pkcs11_R2.so support@okv_instance_ip_address:/tmp scp unzip_directory/Software/Linux/x86-64/Administration/p11tool2 support@okv_instance_ip_address:/tmp scp unzip_directory/Software/Linux/x86-64/Administration/csadm support@okv_instance_ip_address:/tmp -
Log in to the Oracle Key Vault server as user
support, and switch usersutoroot:ssh support@okv_instance_ip_address su - root -
Create the appropriate directories for the Utimaco files:
mkdir -p /opt/utimaco/lib mkdir /opt/utimaco/bin mkdir /etc/utimaco -
Move the Utimaco files to the correct directories:
mv /tmp/cs_pkcs11_R2.cfg /etc/utimaco mv /tmp/p11tool2 /opt/utimaco/bin mv /tmp/csadm /opt/utimaco/bin mv /tmp/libcs_pkcs11_R2.so /opt/utimaco/lib -
Change the configuration file permissions:
/bin/chmod 640 /etc/utimaco/cs_pkcs11_R2.cfg /bin/chown oracle:oinstall /etc/utimaco/cs_pkcs11_R2.cfg -
Change the executable file permissions:
/bin/chmod 550 /opt/utimaco/bin/* /bin/chown oracle:oinstall /opt/utimaco/bin/* -
Change the library file permissions:
/bin/chmod 440 /opt/utimaco/lib/libcs_pkcs11_R2.so /bin/chown oracle:oinstall /opt/utimaco/lib/libcs_pkcs11_R2.so -
Modify the configuration file
/etc/utimaco/cs_pkcs11_R2.cfgso that Device is set to the Utimaco HSM’s IP address.Device = utimaco_ip_addressIf you are testing with the Utimaco HSM simulator, the line should be in the format:
Device = 3001@utimaco_ip_addressOracle does not recommend that you use the simulator in a production environment.
-
To verify that you have set up your Utimaco HSM and the client files correctly, you can use
p11tool2. Thep11tool2command call can be used to verify that the PKCS11 token has been configured:/opt/utimaco/bin/p11tool2 GetSlotInfoThe output should look similar to the following output:
CK_SLOT_INFO (slot ID: 0x00000000): slotDescription 33303031 4031302e 3234302e 3131382e |3001@10.240.118.| 32333120 2d20534c 4f545f30 30303020 |231 - SLOT_0000 | 20202020 20202020 20202020 20202020 | | 20202020 20202020 20202020 20202020 | | manufacturerID 5574696d 61636f20 49532047 6d624820 |Utimaco IS GmbH | 20202020 20202020 20202020 20202020 | | flags: 0x00000005 CKF_TOKEN_PRESENT : CK_TRUE CKF_REMOVABLE_DEVICE : CK_FALSE CKF_HW_SLOT : CK_TRUE hardwareVersion : 5.01 firmwareVersion : 2.03 -
The
csadmcommand call can be used to confirm that PKCS11 users have been defined:/opt/utimaco/bin/csadm Dev=utimaco_ip_address ListUsersThe output should look similar to the following output:
Name Permission Mechanism Attributes ADMIN 22000000 RSA sign Z[0] SO_0000 00000200 HMAC passwd Z[0]A[CXI_GROUP=SLOT_0000] USR_0000 00000002 HMAC passwd Z[0]A[CXI_GROUP=SLOT_0000]
HSM Credential for Utimaco
The HSM credential for Utimaco is the PIN that was initialized when the token was configured.
See the Utimaco documentation for more details.
Token Label for Utimaco
The token label for Utimaco is the name of the token that was set up for the HSM.
HSM Provider Value for Utimaco
For Utimaco, the provider value is 3.
If you are setting this value manually for primary-standby, set HSM_PROVIDER="3" in the okv_security.conf file. For more information about enabling HSM in a primary-standby deployment, see Enabling HSM in a High Availability Deployment.
HSM Vendor Specific Checks for Utimaco
You should check the Utimaco vendor-specific settings.
In addition to the p11tool2 GetSlotInfo and csadm ListUsers commands, you can also check to see that a key was created after completing the HSM Initialize operation. Note that more keys may be created after subsequent HSM initialize commands. Run the following command as a root user:
/opt/utimaco/bin/p11tool2 LoginUser=HSM_Credential ListObjects
The output should look similar to the following output:
CKO_DATA:
+ 1.1
CKA_LABEL = OKV 18.1 HSM Key Number
CKO_SECRET_KEY:
+ 2.1
CKA_KEY_TYPE = CKK_AES
CKA_SENSITIVE = CK_TRUE
CKA_EXTRACTABLE = CK_FALSE
CKA_LABEL = OKV 18.1 HSM Root Key
CKA_ID = 0x00000001 ()
Vendor Specific Notes for Other HSMs
For HSMs other than Thales Luna Network HSM version 7000, Entrust nShield Connect + and XC models, or Utimaco’s SecurityServer 4.31.1, Oracle Key Vault supports an integration with HSM vendors that meet the Oracle Key Vault requirements.
-
About Vendor Specific Notes for Other HSMs
Oracle Key Vault provides a set of configuration files and upgrade scripts that you can use to enable Oracle Key Vault to use HSMs other than Thales Luna Network HSM version 7000, Entrust nShield Connect + and XC models, or Utimaco’s SecurityServer 4.31.1.
-
Installing the HSM Client Software on the Oracle Key Vault Server for Other Vendors
The vendor that you are working with should provide instructions for installing the HSM client software.
-
Configuring the okv_hsm.conf Parameters
The Oracle Key Vault configuration file
okv_hsm.confdefines information such as the vendor name and the location of the PKCS#11 library file. -
Configuring the okv_hsm_env Environment File
The Oracle Key Vault environment file
okv_hsm_envspecifies environment variables that Oracle Key Vault needs when it uses the PKCS#11 library. -
Configuring the okv_hsm_mid_upgrade Script
The Oracle Key Vault script
okv_hsm_mid_upgradecan help to recreate information such as operating system user accounts, operating system user groups, or services. -
Executing Pre- or Post-Upgrade Validation Scripts
If the vendor has provided pre- or post-upgrade scripts, then you can run them before and after the upgrade process to ensure that the HSM configuration is correct.
About Vendor Specific Notes for Other HSMs
Oracle Key Vault provides a set of configuration files and upgrade scripts that you can use to enable Oracle Key Vault to use HSMs other than Thales Luna Network HSM version 7000, Entrust nShield Connect + and XC models, or Utimaco’s SecurityServer 4.31.1.
If your site requires that you use a different HSM vendor, then you can perform your own integration of their HSM with your Oracle Key Vault installation. To perform this integration, you will need to work with the vendor whose HSM you want to integrate with Oracle Key Vault. In general, you will perform the following steps:
-
Install the HSM client software onto your Oracle Key Vault server using the instructions that the HSM vendor provides.
-
Configure parameters in the
okv_hsm.conffile to define information such as the vendor name and the location of the vendor’s PKCS#11 library file. -
If the HSM vendor requires special environment variables, then configure them in the
okv_hsm_envenvironment file. -
Configure the
okv_hsm_mid_upgradescript, which helps to recreate information such as OS user accounts, OS user groups, or services that may be lost during the installation process. -
Execute any pre- or post-upgrade validation scripts the vendor may have provided.
The vendor will need to do the following:
-
Meet the requirements for enabling their HSM to be integrated with Oracle Key Vault.
-
Provide documentation for configuring any of the parameters, environment variables, upgrade scripts, or pre- and post-upgrade scripts the Oracle Key Vault administrator will need, including updating this documentation for subsequent releases.
-
Confirm the success of the integration (that is, with the standalone, multi-master cluster, and primary-standby environments) with the procedures that are provided in this guide.
-
Validate the HSM as a RoT for Oracle Key Vault with the standalone, multi-master cluster, and primary-standby environments.
Related Topics
Installing the HSM Client Software on the Oracle Key Vault Server for Other Vendors
The vendor that you are working with should provide instructions for installing the HSM client software.
Install the vendor’s client software for the HSM, and follow the vendor’s guidelines to ensure that the proper permissions are in place and that any new services are started in the correct order.
Related Topics
Configuring the okv_hsm.conf Parameters
The Oracle Key Vault configuration file okv_hsm.conf defines information such as the vendor name and the location of the PKCS#11 library file.
-
Ensure that the vendor has documented the correct way to configure the
okv_hsm.conffile. -
Follow the vendor’s instructions for configuring the
okv_hsm.conffile.
Related Topics
Configuring the okv_hsm_env Environment File
The Oracle Key Vault environment file okv_hsm_env specifies environment variables that Oracle Key Vault needs when it uses the PKCS#11 library.
If the HSM requires special environment variables, then you can add these to this file.
-
Ensure that the vendor has documented the correct way to configure the
okv_hsm_envfile. -
Follow the vendor’s instructions for configuring the
okv_hsm_envfile.
Related Topics
Configuring the okv_hsm_mid_upgrade Script
The Oracle Key Vault script okv_hsm_mid_upgrade can help to recreate information such as operating system user accounts, operating system user groups, or services.
The installation of the vendor’s HSM client software may remove this type of information during the installation process, so this script can help to restore it.
-
Ensure that the vendor has documented the correct way to configure the
okv_hsm_mid_upgradefile. -
Modify the
okv_hsm_mid_upgradescript (located in the/usr/local/okv/hsm/generic/directory) to include information such as operating system users, operating system user groups, and services that Oracle Key Vault will need for the next time an upgrade takes place.
Related Topics
Executing Pre- or Post-Upgrade Validation Scripts
If the vendor has provided pre- or post-upgrade scripts, then you can run them before and after the upgrade process to ensure that the HSM configuration is correct.
-
Ensure that the vendor has documented the correct way to configure the pre- or post-upgrade scripts.
-
Store these scripts in the
/optdirectory. -
Execute the scripts as necessary.
Related Topics