Explore FXCL application encryption
Install and authenticate FXCL
Install the matching native and Java packages, configure TLS, and authenticate a Host API session.
Manage keys and encrypt with C++
Create, rotate, and delete an AES key store, then encrypt data locally.
Manage keys and encrypt with Java
Use the JNI-backed API for local and CryptoHub-backed encryption.
Configure tokenization profiles
Configure client-side and CryptoHub-backed format-preserving encryption.
API reference
Find the C++ and Java classes for each application-encryption task.
Troubleshoot FXCL
Diagnose TLS, authentication, key-store, token-profile, and HSM license errors.
The application encryption model
FXCL supports two execution models:
The application always uses CryptoHub to create, identify, rotate, and authorize the key store. The key-store configuration determines whether FXCL can retrieve the active key for a local operation.
Connection and trust flow
- The application loads the FXCL native library.
KeyServerconnects to the CryptoHub Native Host API over TLS on port 2001.- The application verifies the CryptoHub production CA and expected server identity.
- A Client Application API key, user login, PKI login, or JWT establishes the authorized Host API context.
- FXCL sends key-store, cryptographic, or token-profile commands through that context.
- CryptoHub applies the identity, partition, key-store, and HSM policies before it returns a key or operation result.
Choose an interface
Use FXCL when the application needs the FXCL key-store and token-profile object model. Use another CryptoHub interface when it fits the application better:- Use the CryptoHub PKCS #11 module for a standard Cryptoki integration.
- Use the CryptoHub CNG provider for the Windows CNG key ecosystem.
- Use the REST cryptographic operations for a language-neutral HTTP integration.
- Use KMIP when the application already implements a standards-based KMIP client.
Version and scope
This guide is validated with:- FXCL 1.9.5 for Linux AMD64 and OpenSSL 3
- CryptoHub 7.2.0.7
- Ubuntu 22.04
- GCC 11
- OpenJDK 17

