Integration Guide F5 Big IP With Utimaco SecurityServer
Integration Guide F5 Big IP With Utimaco SecurityServer
SecurityServer
Utimaco
SecurityServer
Imprint
2 Overview ........................................................................................................................................................................... 8
9 Troubleshooting ............................................................................................................................................................ 24
References ................................................................................................................................................................................. 26
Special icons are used to highlight the most important notes and information.
This message marks the result expected after the successful execution of an instruction
Abbreviation Meaning
RSA Rivest-Shamir-Adleman
SO Security Officer
Utimaco LAN HSM CryptoServer CSe-Series/Se-Series LAN with firmware SecurityServer 4.50 or
higher
u.trust Anchor Se*k and u.trust Anchor CSAR with firmware 4.50 or higher
Utimaco PCI-e HSM CryptoServer CSe-Series/Se-Series PCI-e with firmware SecurityServer 4.50 or
higher
Setup an account on the Utimaco support portal and request download access at the following URL.
https://support.hsm.utimaco.com/
MBK must be created and stored onto each HSM. Refer the CryptoServer
documentations to setup the MBK
PKCS#11 library is setup and configured as per your environment. Refer the
CryptoServer documentations to setup and configure the PKCS#11 library
The licensed Big-IP system must be used for External Interface and Network HSM.
›_ Console
# mkdir /etc/utimaco
# cd <install directory>/Software/Linux/x86-64/Crypto_APIs/PKCS11_R3/sample
# cp cs_pkcs11_R3.cfg /etc/utimaco
# cd /etc/utimaco
For more information regarding the commands and command parameters please check the Utimaco
documentation. The device may be a CryptoServer (PCIe or LAN) device. The device line will follow
one of these patterns, based on the HSM form-factor:
Device = 288@<HSM IP address> Hardware (LAN) HSM
OR
Device = /dev/cs2.0 Hardware (PCIe) HSM
Example values
cs_pkcs11_R3.cfg
[Global]
# Path to the logfile (name of logfile is attached by the API)
# For unix:
Logpath = /tmp
# For windows:
#Logpath = C:/ProgramData/Utimaco/PKCS11_R3
[CryptoServer]
# Device specifier
Device = 192.168.10.10
For deployments with u.trust Anchor, the port number will be in the range 4001 thru 4032 or
[email protected] for example.
›_ Console
# mkdir -p /opt/utimaco/bin && mkdir /opt/utimaco/lib
# chmod +x /opt/utimaco/lib/ libcs_pkcs11_R3.so
3. Copy the csadm and p11tool2 files from Utimaco CryptoServer software to
/opt/utimaco/bin directory and make both the files executable.
›_ Console
# cd ~/path_to_application_folder/ && cp csadm p11tool2 /opt/utimaco/bin
# chmod +x /opt/utimaco/bin/csadm /opt/utimaco/bin/p11tool2
›_ Console
# /opt/utimaco/bin/p11tool2 slot=0 Label=BIGIPDemo
Login=BIGIPADMIN,BIGIPADMIN.key InitToken=123456
# /opt/utimaco/bin/p11tool2 slot=0 LoginSO=123456 InitPin=123456
›_ Console
# /opt/utimaco/bin/p11tool2 LoginUser=123456 GetSlotInfo
CK_SLOT_INFO (slot ID: 0x00000000):
slotDescription 3130332e 362e3333 2e313231 202d2053 |103.6.33.121 - S|
4c4f545f 30303030 20202020 20202020 |LOT_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.04
›_ Console
# /opt/utimaco/bin/csadm DEV=192.168.10.10 listusers
Name Permission Mechanism Attributes
BIGIPADMIN 22000000 RSA sign Z[0]
SO_0000 00000200 HMAC passwd A[CXI_GROUP=SLOT_0000]
USR_0000 00000002 HMAC passwd Z[0]A[CXI_GROUP=SLOT_0000]
›_ Console
# /opt/utimaco/bin/csadm DEV=192.168.10.10 LogonSign=BIGIPADMIN,BIGIPADMIN.key
MBKListKeys
slot name len algo type k generation date key check value
------------------------------------------------------------------
3 MYMBK 32 AES XOR 2 2012/08/15 13:08:39
CC06067E3C8692DE:D53279C7B862EC54
›_ Console
# tmsh create sys crypto key <key_name> gen-certificate common-name
<cert_name> security-type nethsm
For Example
# tmsh create sys crypto key f5-testkey gen-certificate common-name
utimaco.bigip.com security-type nethsm
›_ Console
# tmsh list sys crypto key f5-testkey
›_ Console
# tmsh save sys config
›_ Console
# /opt/utimaco/bin/p11tool2 LoginUser=123456 ListKeys
CKO_PRIVATE_KEY:
+ 1.1
CKA_KEY_TYPE = CKK_RSA
CKA_SENSITIVE = CK_TRUE
CKA_EXTRACTABLE = CK_FALSE
CKA_LABEL = f5-testkey___fcd9a1a2
CKA_ID =
0x63376362 37613132 62643131 64333233 |c7cb7a12bd11d323|
64616431 64633233 66636439 61316132 |dad1dc23fcd9a1a2|
When keys created on the HSM through F5 Big-IP, the last eight digits of the CKA_ID of
the keys gets appended to the CKA_LABEL as described above.
The ASCII CKA_ID value shown in the above console window matches with the key-id in
the below console window.
›_ Console
# /opt/utimaco/bin/p11tool2 LoginUser=123456 Label="<Key Name>" DeleteObject
›_ Console
# p11tool2 [Slot=<slot_id>] LoginUser=<user_pin>
[PubKeyAttr=<pub_key_attr>] [PrvKeyAttr=<prv_key_attr>]
GenerateKeyPair=<mech>
For Example
# /opt/utimaco/bin/p11tool2 LoginUser=123456 PubKeyAttr=CKA_LABEL="f5-
testkey",CKA_ID=0x383564383335623832386565326662393230313931633265303934373634
3164 PrvKeyAttr=CKA_LABEL="f5-
testkey",CKA_ID=0x383564383335623832386565326662393230313931633265303934373634
3164 GenerateKeyPair=RSA
2. In the Main tab, select System > Certificate Management >Traffic Certificate
Management > SSL Certificate list > Import. The SSL Certificate/Key Source page
opens
3. Select Key, from the Import type drop-down
4. Enter the Key Name in Key Name text box (Use the same key label as generated using
p11tool2)
5. Select New radio button from Key Name.
6. Select From NetHSM, within Key Source
›_ Console
# p11tool2 [Slot=<slot_id>] LoginUser=<user_pin>
[PubKeyAttr=<pub_key_attr>] [PrvKeyAttr=<prv_key_attr>]
GenerateKeyPair=<mech>
For Example
# /opt/utimaco/bin/p11tool2 LoginUser=123456 PubKeyAttr=CKA_LABEL="f5-
testkey",CKA_ID=0x383564383335623832386565326662393230313931633265303934373634
3164 PrvKeyAttr=CKA_LABEL="f5-
testkey",CKA_ID=0x383564383335623832386565326662393230313931633265303934373634
3164 GenerateKeyPair=RSA
2. Alternatively, if the user wants to add/import the existing key via console
›_ Console
# tmsh install sys crypto key <nethsm_key_label> from-nethsm security-type
nethsm
›_ Console
# tmsh save sys config
LoginUser= failed:
05.12.2021 23:45:45 src/p11adm_R2.c[429] PKCS#11 Slot is not initialized. Refer Initialize a Slot
p11_login: C_Login [type=1] returned Error
0x00000102 (CKR_USER_PIN_NOT_INITIALIZED)
Key management library returned bad status: -36, Verify if pkcs11d is service is up and running
Nethsm is not installed # bigstart status/restart pkcs11d
Data Input Error: The requested key(f5key1) already They key name already exist. Try with a unique key
exists in this scope name
© Utimaco IS GmbH
Utimaco® is a trademark of Utimaco GmbH. All other named trademarks
For more support about Utimaco® products, please visit:
are trademarks of the particular copyright holder. All rights reserved.
support.utimaco.com Specifications are subject to change without notice.