1.0 Introduction
This article describes how to integrate Fortanix-Data-Security-Manager (DSM) with F5 Networks Big IP Virtual Edition (VE) version 15.1.2.1 or later.
It also contains the information that a user requires to:
Set inbound traffic rules if using Azure Marketplace platform.
Set admin password for BIG-IP VE.
2.0 Prerequisites
Ensure the following:
The minimum supported BIG-IP version is 15.1.2.1.
The BIG-IP system is licensed for 'External Interface and Network HSM.
2.1 F5 BIG-IP Local Traffic Manager (LTM) 15.1.2.1 or Later
Virtual Edition (VE) is utilized for this article. Both hardware and virtual edition platforms support network Hardware Security Module (HSM) integration. Additionally, you will need to provide a license covering the network HSM module.
2.2 Creating Inbound Traffic Rules if Using Azure Marketplace Platform
To access the BIG-IP Configuration utility, you must open port 8443. To connect to BIG-IP VE using SSH, use the open port 22. To connect to your application through BIG-IP VE, use the open port 443 (in this example).
In the Azure portal, click All Services → Network security groups.
Filter the list to find your group and click it.
In the left menu, under Settings, click Inbound security rules.
Click Add.
Name
Value
Source Port Ranges
An IP range on your network.
Destination Port Ranges
22
Protocol
TCP
Name
A description, such as
SSH access.Click Add again.
Repeat Steps 4 and 5, using
8443as the Destination port range. This allows management traffic for the port8443to reach BIG-IP VE.Repeat Steps 4 and 5, using
443as the Destination port range. This allows traffic for your application (in this example).
2.3 Setting Admin Password for BIG-IP VE
Give BIG-IP VE six to ten minutes to finish deploying before you attempt to connect.
The first time you boot BIG-IP VE, you must connect to the instance and create a strong admin password. You will use the admin account and password to access the BIG-IP Configuration utility.
This management interface may be accessible to the Internet, so ensure the password is secure.
Connect to BIG-IP VE.
Run the following command to change to the
tmshprompt, type:tmshRun the following command to modify the admin password.
modify auth password adminThe terminal screen displays the message:
changing password for admin new password:Type the new password and press Enter.
The terminal screen displays the message:confirm passwordRe-type the new password, and then press Enter.
Ensure that the system retains the password change and press Enter.
Run the following command to save the system configuration.
save sys configTraffic goes through BIG-IP VE to a pool. Your application servers should be members of this pool.
Now, open a web browser and go to the BIG-IP Configuration utility. For example,
https://<external-ip-address>:8443.
3.0 Generate an SSL Certificate and Private Key
Perform the following steps:
Run the following Openssl command on Big-IP to generate a certificate and private key:
openssl req -newkey rsa:2048 -nodes -keyout dsm.key -x509 -days 365 -out dsm.crtImport the generated
dsm.keyinto Fortanix DSM using the Import Key workflow as explained in Section 4.6: Creating a Security Object.Upload the certificate
dsm.crtto Big-IP and reference the imported Fortanix DSM keydsm.keyas a key pointer, as described in Section 7.1: Importing SSL Certificate and DSM Key Pointer in Big-IP.
4.0 Configure Fortanix DSM
A Fortanix DSM service must be configured, and the URL must be accessible. To create a Fortanix DSM account and group, refer to the following sections:
4.1 Signing Up
To get started with the Fortanix DSM cloud service, you must register an account at <Your_DSM_Service_URL>. For example, https://amer.smartkey.io. On-premises customers use the KMS URL, and the SaaS customers can use the URLs as listed  here  based on the application region.
For more information on how to set up the Fortanix DSM, refer to the User's Guide: Sign Up for Fortanix Data Security Manager SaaS.
4.2 Creating an Account
Access <Your_DSM_Service_URL> in a web browser and enter your credentials to log in to Fortanix DSM.
.png?sv=2022-11-02&spr=https&st=2026-03-12T23%3A08%3A07Z&se=2026-03-12T23%3A27%3A07Z&sr=c&sp=r&sig=EanKiwxKXqG66S%2FaoH74MthYVaXVD6q9zePZMen1eNg%3D)
Figure 1: Logging in
For more information on how to set up an account in Fortanix DSM, refer to the User's Guide: Getting Started with Fortanix Data Security Manager - UI.
4.3 Creating a Group
Perform the following steps to create a group in the Fortanix DSM:
In the DSM left navigation panel, click the Groups menu item, and then click ADD GROUP to create a new group.
.png?sv=2022-11-02&spr=https&st=2026-03-12T23%3A08%3A07Z&se=2026-03-12T23%3A27%3A07Z&sr=c&sp=r&sig=EanKiwxKXqG66S%2FaoH74MthYVaXVD6q9zePZMen1eNg%3D)
Figure 2: Add groups
On the Adding new group page,
Title: Enter a name for your group.
Description (optional): Enter a short description of the group.
Click SAVE to create the new group.
The new group is added to the Fortanix DSM successfully.
4.4 Creating an Application
Perform the following steps to create an application (app) in the Fortanix DSM:
In the DSM left navigation panel, click the Apps menu item, and then click ADD APP to create a new app.
.png?sv=2022-11-02&spr=https&st=2026-03-12T23%3A08%3A07Z&se=2026-03-12T23%3A27%3A07Z&sr=c&sp=r&sig=EanKiwxKXqG66S%2FaoH74MthYVaXVD6q9zePZMen1eNg%3D)
Figure 3: Add application
On the Adding new app page,
App name: Enter the name for your application.
ADD DESCRIPTION (optional): Enter a short description of the application.
Authentication method: Select the default API Key as the authentication method from the drop down menu. For more information on these authentication methods, refer to the User's Guide: Authentication.
Assigning the new app to groups: Select the group created in Section 4.3: Creating a Group from the list.
Click SAVE to add the new application.
The new application is added to the Fortanix DSM successfully.
4.5 Copying the API Key
Perform the following steps to copy the API key from the Fortanix DSM:
In the DSM left navigation panel, click the Apps menu item, and then click the app created in Section 4.4: Creating an Application to go to the detailed view of the app.
On the INFO tab, click VIEW API KEY DETAILS.
From the API Key Details dialog box, copy the API Key of the app to use it later.
4.6 Creating a Security Object
Perform the following steps to import the RSA key generated in Section 3.0: Generate an SSL Certificate and Private Key in Fortanix DSM:
In the DSM left navigation panel, click the Security Objects menu item, and then click ADD SECURITY OBJECT to create a new security object.
.png?sv=2022-11-02&spr=https&st=2026-03-12T23%3A08%3A07Z&se=2026-03-12T23%3A27%3A07Z&sr=c&sp=r&sig=EanKiwxKXqG66S%2FaoH74MthYVaXVD6q9zePZMen1eNg%3D)
Figure 5: Add Security Object
On the Add new Security Object page,
Security Object Name: Enter a name for your security object.
Group: Select the group as created in Section 4.3: Creating a Group.
Select the IMPORT radio button.
In the Choose a type section, select an RSA key type.
In the Place value here or import from file section, select the value format type as Base64 and click UPLOAD A FILE to upload the RSA private key generated in Section 3.0: Generate an SSL Certificate and Private Key.
If the key file is already encrypted (wrapped) using a Fortanix DSM key, select the The key has been encrypted check box. For more information, refer to the User's Guide: Fortanix Data Security Manager Key Lifecycle Management.
Key operations permitted: Select the required operations to define the actions that can be performed with the cryptographic keys, such as encryption, decryption, signing, and verifying.
Click IMPORT to create the new security object.
NOTE
Alternatively, you can also generate an RSA key directly in Fortanix DSM using the Generate Key workflow. Use the PKCS#10 plugin to issue a certificate for the generated key, and then upload the certificate to Big-IP, as described in Step 3 of Section 7.1: Importing SSL Certificate and Add DSM Key Pointer in Big-IP.
5.0 Install the Fortanix PKCS#11 Library
This section describes how to install the Fortanix PKCS#11 library on the BIG-IP system. The PKCS#11 library enables BIG-IP to communicate with Fortanix DSM for cryptographic operations.
Use an SSH client to log in to the BIG-IP system as root and run the following commands to download and install the Fortanix PKCS#11 library.
The Fortanix PKCS#11 library RPM package can be downloaded from here.
cd /shared/
mkdir fortanix
cd fortanix
curl -O https://download.fortanix.com/clients/3.11.1281/fortanix-pkcs11-3.11.1281-0.x86_64.rpm
rpm -ivh ./fortanix-pkcs11-3.11.1281-0.x86_64.rpm6.0 Configure BIG-IP HSM Integration
Perform the followings steps:
Run the following command to add the Fortanix HSM library to the BIG-IP:
tmsh create sys crypto fips external-hsm vendor auto pkcs11-lib-path /opt/fortanix/pkcs11/fortanix_pkcs11.soRun the following command to create the
/config/fortanix.cfgfile:vi /config/fortanix.cfgAdd the following lines and save the file:
### sample fortanix config file api_endpoint="https://<FORTANIX_DSM_URL>" api_key="<DSM_API_KEY>" # specify if endpoint uses self-signed certificate ca_certs_file = "<CA_CERT_FILE_PATH>" [log] file = "/var/log/fortanix.log"Where,
api_endpointrefers to the URL of the Fortanix DSM instance that the BIG-IP connects to.api_keyrefers to the Fortanix DSM app API key copied in Section 4.5: Copying an API Key used for authentication.ca_certs_filerefers to path to the CA certificate file if the Fortanix DSM endpoint uses a self-signed certificate. Leave it empty if not required. For more information, refer to Fortanix PKCS#11 Library.filerefers to the location where the Fortanix PKCS#11 library writes logs.
Run the following command to configure the netHSM partition:
tmsh create sys crypto fips nethsm-partition auto password "file:///config/fortanix.cfg"Run the following command to restart the
pkcs11dservice:bigstart restart pkcs11d tmmTest the connectivity - use the BIG-IP management UI to test the connectivity between the BIG-IP and Fortanix DSM. After logging into the BIG-IP UI navigate to System → Certificate Management → HSM Management → External HSM. Under the 'Partitions' section select the check box in the Partition List and click Test. Following is an example output of a successful connectivity test.

Figure 4: Test the connectivity
7.0 Configure BIG-IP with Fortanix DSM
7.1 Importing SSL Certificate and Adding DSM Key Pointer in Big-IP
With Fortanix DSM now hosting the private key, import the corresponding certificate into the BIG-IP. Additionally, create a key resource pointing to the Fortanix DSM-hosted key.
Log in to the BIG-IP management UI and navigate to System → Certificate Management → SSL Certificate List → Import.
Select Certificate as Import Type and enter a name.
Browse and upload the certificate, click Import.
Run the following command to restart the pkcs11d service:
bigstart restart pkcs11d tmmNavigate to System → Certificate Management → SSL Certificate List → Import.
Select Key as Import Type and enter a name. The name must match the security object name created in Section 4.6: Creating a Security Object.
Select Key Source as From NetHSM, and click Import.

Figure 6: Import SSL certificate
7.2 Creating an SSL Profile and Attaching it to a Virtual Server
Finally, create a client SSL profile and associate it with the virtual server.
Log in to the BIG-IP management UI and navigate to Local Traffic → Profiles → SSL → CLIENT → +.
Enter a name and select the Custom check box.
In the Certificate Key Chain section, click Add.
Select the previously imported certificate and key from the drop-down menus
Click Finished to create the profile.
Navigate to Local Traffic → Virtual Servers and select the appropriate virtual server.
Under the SSLProfile (Client) section, select the previously create SSL profile.
Click Update to save the modified virtual server.

Figure 7: Create SSL profile
The application is now secured with the BIG-IP offloading the crypto workload to Fortanix DSM.
8.0 Update the PKCS#11 Version
Perform the following steps on F5 CLI (in bash mode) to update the PKCS#11 version:
Run the following command to check the current version installed of PKCS#11 library:
rpm -qa | grep fortanix-pkcs11Run the following command to delete the installed version of PKCS#11 library:
rpm -e fortanix-pkcs11-<version>Run the following command to install a different version of PKCS#11 library:
rpm -ivh fortanix-pkcs11-<version>