Luna HSM Integration Guide
-
Extract Setup Files
-
Unzip setup-CodeSign-Luna.zip
- This archive contains the main Luna client and configuration files.
- Right-click the zip file and choose Extract All.
-
Unzip cvclient-min.zip inside the same folder
- It includes additional client-side components required for Luna connectivity.
- Extract its contents directly inside setup-CodeSign-Luna (not in a subfolder).
-
-
Set Up Environment
-
Open an Administrator Command Prompt
- Required for executing environment scripts with elevated privileges.
-
Navigate to the folder and run:
setenv.cmd
Sets up environment variables necessary for Luna client operations.
-
Verify Luna Client HSM Connection
lunacm
- It opens the Luna command-line tool to check HSM availability and status.
- Use the ‘partitions’ command to see available partitions and labels.
-
-
Set up Cygwin and SSL Directory
-
Unzip the Cygwin folder to the C: Drive
- Provides a Linux-like environment for OpenSSL operations.
-
Create an SSL directory in C: Drive
mkdir C:\\ssl
A placeholder for storing any custom SSL configurations or scripts.
-
Update Windows System Environment Variables
- Ensures OpenSSL commands recognize the Cygwin SSL binaries.
- Add the following to the Path: C:\\cygwin\\usr\\local\\ssl\\bin
-
-
Modify the crystoki.ini Configuration File
-
Open the crystoki.ini file
- Main configuration file for the Luna client cryptographic engine.
-
Modify or Add the Below Section:
[GemEngine] LibPath = C:\\Users\\Administrator\\Desktop\\setup-CodeSign-Luna\\cryptoki.dll LibPath64 = C:\\Users\\Administrator\\Desktop\\setup-CodeSign-Luna\\cryptoki.dll EnableDsaGenKeyPair = 1 EnableRsaGenKeyPair = 1 DisablePublicCrypto = 1 EnableRsaSignVerify = 1 EnableLoadPubKey = 1 EnableLoadPrivKey = 1 DisableCheckFinalize = 1 DisableEcdsa = 1 DisableDsa = 0 DisableRand = 0 EngineInit = "example":0:0:passdev=console EnableLoginInit = 1
- Replace “example” with the partition name obtained via lunacm.
- Ensure that the cryptoki.dll path is correct for both LibPath and LibPath64.
-
-
Verify OpenSSL and Gem Engine
-
Open a new Command Prompt
-
Test the gem engine to confirm successful configuration.
openssl engine gem -t
-
-
Generate an RSA Key Using the HSM
-
Uses the HSM-backed engine to generate a 2048-bit RSA private key securely.
openssl genrsa -engine gem 2048
-
-
-
Enable/Disable HSM Logging
-
Enable logging support
-
Turns on detailed cryptographic operation logging for troubleshooting.
vtl cklogsupport enable
-
-
Disable logging support
-
Turns off logging when no longer needed.
vtl cklogsupport disable
-
-