Verify that Fulcio is correctly using the HSM for cryptographic operations by checking status conditions and pod configurations.
Before you begin
- The SecureSign custom resource is deployed with Fulcio PKCS #11 configuration.
- Cluster administrator access to the OpenShift cluster.
- A workstation with the
python3 command for parsing JSON output.
Procedure
-
Check the Fulcio PKCS #11 status condition:
$ oc get fulcio fulcio-server -n trusted-artifact-signer -o jsonpath='{.status.conditions}' | \
python3 -m json.tool | grep -A 5 "FulcioPKCS11"
Expected output:
{
"type": "FulcioPKCS11Ready",
"status": "True",
"reason": "PKCS11Configured"
}
This condition indicates that Fulcio successfully loaded the PKCS #11 configuration and can access the HSM.
-
Verify that Fulcio is using PKCS #11 for certificate signing:
$ oc get pod -l app.kubernetes.io/name=fulcio-server \
-n trusted-artifact-signer -o jsonpath='{.items[0].spec.containers[0].args}' | \
python3 -m json.tool
The output should include arguments related to PKCS #11:
["--ca=pkcs11ca", "--pkcs11-config-path=/etc/fulcio-config/crypto11.conf", ...]
These arguments confirm that Fulcio is configured to use the PKCS #11 certificate authority with the specified configuration and key ID.
-
Verify that the PKCS #11 library is available in the Fulcio pod:
$ oc exec -n trusted-artifact-signer deployment/fulcio-server -- ls -l /var/run/hsm-lib/
The output should list the PKCS #11 library file (for example, libsofthsm2.so).
-
Review the Fulcio logs for PKCS #11 initialization messages:
$ oc logs -n trusted-artifact-signer deployment/fulcio-server | grep -i pkcs11
The logs should contain messages indicating successful PKCS #11 initialization and HSM connection.
-
Check the Fulcio resource status for overall health:
$ oc get fulcio fulcio-server -n trusted-artifact-signer -o yaml
The status section should show Fulcio as ready with PKCS #11 configuration applied.
-
Optional: If your HSM provides audit logging, review the HSM audit logs:
Check the HSM vendor’s audit log interface to verify that Fulcio successfully authenticated and established connections to the HSM.
Verify successful key operations including:
- HSM authentication using the configured PIN
- Access to the signing key (CKA_ID
99)
- Signature operations performed by Fulcio