Examine ciphers
First run the FIPS container so it is listening to a port for an SSL connection. To view the ciphers used by the container, run the following from the host:Copy
Ask AI
# update {port} with the port exposed by the image
nmap -sV --script ssl-enum-ciphers -p {port} localhost
Copy
Ask AI
PORT STATE SERVICE VERSION
9443/tcp open ssl/http nginx 1.27.4
|_http-server-header: nginx/1.27.4
| ssl-enum-ciphers:
| TLSv1.2:
| ciphers:
| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (secp256r1) - A
| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
| TLS_ECDHE_ECDSA_WITH_AES_128_CCM (secp256r1) - A
| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (secp256r1) - A
| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
| TLS_ECDHE_ECDSA_WITH_AES_256_CCM (secp256r1) - A
| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
| compressors:
| NULL
| cipher preference: client
|_ least strength: A
FIPS module verification
To test that the OpenSSL FIPS provider module is configured, you will need to run the container as root and override the entrypoint at runtime. For example, for the Minimus FIPS NGINX image, the run command looks like this:Copy
Ask AI
docker run -it --rm \
--user root --entrypoint openssl-fips-test \
reg.mini.dev/nginx-fips
Copy
Ask AI
Checking OpenSSL lifecycle assurance.
✓ Self-test KAT_Integrity HMAC_Verify, 256 ... passed.
✓ Self-test KAT_Module_Integrity HMAC_Verify, 256, Module Integrity ... passed.
✓ Self-test KAT_Cipher AES_GCM_Encrypt, 256 ... passed.
✓ Self-test KAT_Cipher AES_GCM_Decrypt, 256 ... passed.
✓ Self-test KAT_Cipher AES_ECB_Decrypt, 256 ... passed.
✓ Self-test KAT_Cipher TDES_Decrypt, CBC ... passed.
✓ Self-test KAT_DRBG CTR, 128 ... passed.
✓ Self-test KAT_DRBG HASH, SHA-256 ... passed.
✓ Self-test KAT_DRBG HMAC, SHA-1 ... passed.
✓ Self-test KAT_KDF X942KDF, SHA-1 ... passed.
✓ Self-test KAT_KDF X963KDF, SHA-256 ... passed.
✓ Self-test KAT_KDF SSHKDF, SHA-1 ... passed.
✓ Self-test KAT_KDF TLS12_PRF, SHA-256 ... passed.
✓ Self-test KAT_KDF TLS13_KDF_EXTRACT, SHA-256 ... passed.
✓ Self-test KAT_KDF TLS13_KDF_EXPAND, SHA-256 ... passed.
✓ Self-test Continuous_RNG_Test RNG ... passed.
✓ Self-test KAT_Signature DSA_Verify, SHA-256 ... passed.
✓ Self-test KAT_Signature ECDSA_Prime_Sign, P-224 ... passed.
✓ Self-test KAT_Signature ECDSA_Prime_Verify, P-224 ... passed.
✓ Self-test KAT_Signature ECDSA_Binary_Sign, K-233 ... passed.
✓ Self-test KAT_Signature ECDSA_Binary_Verify, K-233 ... passed.
✓ Self-test KAT_Signature ECDSA_Brainpool_Sign, Brainpool ... passed.
✓ Self-test KAT_Signature ECDSA_Brainpool_Verify, Brainpool ... passed.
✓ Self-test Conditional_PCT ED448 ... passed.
✓ Self-test KAT_Signature EDDSA_Sign, Ed448 ... passed.
✓ Self-test Conditional_PCT ED448 ... passed.
✓ Self-test KAT_Signature EDDSA_Verify, Ed448 ... passed.
✓ Self-test Conditional_PCT ED25519 ... passed.
✓ Self-test KAT_Signature EDDSA_Sign, Ed25519 ... passed.
✓ Self-test Conditional_PCT ED25519 ... passed.
✓ Self-test KAT_Signature EDDSA_Verify, Ed25519 ... passed.
✓ Self-test Conditional_PCT RSA ... passed.
✓ Self-test KAT_Signature RSA_Sign, SHA-256 ... passed.
✓ Self-test Conditional_PCT RSA ... passed.
✓ Self-test KAT_Signature RSA_Verify, SHA-256 ... passed.
✓ Self-test KAT_KA KAS-ECC-SSC, P-256 ... passed.
✓ Self-test Conditional_PCT DH ... passed.
✓ Self-test KAT_KA KAS-FFC-SSC, FB (2048, 224) ... passed.
✓ Self-test KAT_KDF KDA HKDF, SHA-256 ... passed.
✓ Self-test KAT_KDF KDA OneStep, SHA-224 ... passed.
✓ Self-test KAT_KDF KBKDF, HMAC SHA-256 ... passed.
✓ Self-test KAT_KDF PBKDF2, SHA-256 ... passed.
✓ Self-test KAT_AsymmetricCipher KTS_RSA_Encrypt, KTS-OAEP 2048bit ... passed.
✓ Self-test Conditional_PCT RSA ... passed.
✓ Self-test KAT_AsymmetricCipher KTS_RSA_Decrypt, KTS-OAEP 2048bit ... passed.
✓ Self-test Conditional_PCT RSA ... passed.
✓ Self-test KAT_AsymmetricCipher KTS_RSA_Decrypt, CRT 2048bit ... passed.
✓ Self-test KAT_KEM KAS_RSA_SSC, 2048bit ... passed.
✓ Self-test KAT_Digest SHA3, 256 ... passed.
✓ Self-test KAT_Digest SHA2, 512 ... passed.
✓ Self-test KAT_Digest SHA1, SHA-1 ... passed.
✓ 51 out of 51 self-tests passed.
✓ Check FIPS cryptographic module is available... passed.
✓ Check FIPS approved only mode (EVP_default_properties_is_fips_enabled)... passed.
✓ Check non-approved algorithm blocked (HMAC-MD5)... passed.
Digests available for non-security use as per FIPS 140-3 I.G. 2.4.A (fips=no):
✓ MD5
✓ SHA1
Available approved algorithms for security purposes (fips=yes):
✗ MD5
✓ SHA-1
✓ SHA-2
✓ SHA-3
✓ DSA
✓ RSA
✓ ECDSA
✓ Ed25519
✗ DetECDSA
✗ ML-DSA
✗ SLH-DSA
✗ ML-KEM
✗ X25519MLKEM768
✗ SecP256r1MLKEM768
Public OpenSSL API (libssl.so & libcrypto.so):
name: OpenSSL 3.5.4 30 Sep 2025
version: 3.5.4
FIPS cryptographic module provider details (fips.so):
name: 140-3 FIPS Provider
version: 3.0.0-FIPS 140-3
build: 3.0.0-FIPS 140-3
Locate applicable CMVP certificate(s) at: CMVP Search