FIPS_CONFIG(5ossl)
π FIPS_CONFIG π
okay bestie, so this is fips_config β the OpenSSL FIPS configuration page, and honestly? it's giving "the most important file you've never opened." let's get into it π«Ά
β¨ NAME β¨
fips_config β OpenSSL FIPS configuration. that's it, that's the vibe. π
πΈ SYNOPSIS πΈ
it's a config file, babe β so the "synopsis" is literally you opening it and reading it. no flags to memorize here, just vibes and key-value pairs. π
π¦ DESCRIPTION π¦
So. There's this separate configuration file β it uses the OpenSSL config(5) syntax β and its whole job is holding info about the FIPS module. Like, a little diary for your module. π
What's inside it:
- a digest of the shared library file
- status about the self-testing
and the module itself uses this data automatically for two things:
- Run the startup FIPS self-test known answer tests (KATS). this is normally done once, at installation time, but may also be set up to run each time the module is used. cozy.
- Verify the module's checksum. this one happens each time the module is used. every single time. no exceptions, no skips. π
This file is generated by the openssl-fipsinstall(1) program, and used internally by the FIPS module during its initialization. so like, you don't hand-write it for funsies (though you can look at it π).
The following options are supported. They should all appear in a section whose name is identified by the fips option in the providers section, as described in "Provider Configuration Module" in config(5). iykyk. β¨
activateβ if present, the module is activated. the value you assign to this name is not significant β put1, putyes, put your star sign, doesn't matter, it's the presence that counts πconditional-errorsβ okay so the FIPS module normally enters an internal error mode if any self test fails. once this error mode is active, no services or cryptographic algorithms are accessible from this point on. gone. locked out. π Continuous tests are a subset of the self tests (e.g., a key pair test during key generation, or the CRNG output test). setting this value to0allows the error mode to not be triggered if any continuous test fails. the default value of1will trigger the error mode. regardless of the value, the operation (e.g., key generation) that called the continuous test will return an error code if its continuous test fails. the operation may then be retried if the error mode has not been triggered. so like,0is "don't nuke the whole module," not "pretend the failure didn't happen." πmodule-macβ the calculated MAC of the FIPS provider file. the checksum, bestie.install-versionβ a version number for the fips install process. should be1.install-statusβ this field is deprecated and is no longer used. it's just here being nostalgic πinstall-macβ this field is deprecated and is no longer used. also just vibing in the file π«
π FIPS indicator options π
The following FIPS configuration options indicate if run-time checks related to enforcement of FIPS security parameters β such as minimum security strength of keys and approved curve names β are used.
- a value of
'1'β the checks are performed - a value of
'0'β the checks are not performed, and FIPS compliance must be done by procedures documented in the relevant Security Policy
See "OPTIONS" in openssl-fipsinstall(1) for further information related to these options. (that's your homework, bestie π)
security-checksβ see "OPTIONS" inopenssl-fipsinstall(1)-no_security_checkstls1-prf-ems-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-ems_checkno-short-macβ see "OPTIONS" inopenssl-fipsinstall(1)-no_short_macdrbg-no-trunc-mdβ see "OPTIONS" inopenssl-fipsinstall(1)-no_drbg_truncated_digestssignature-digest-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-signature_digest_checkhkdf-digest-checkβ this option is deprecated. </3tls13-kdf-digest-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-tls13_kdf_digest_checktls1-prf-digest-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-tls1_prf_digest_checksshkdf-digest-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-sshkdf_digest_checksskdf-digest-checkβ this option is deprecated. also </3x963kdf-digest-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-x963kdf_digest_checkdsa-sign-disabledβ see "OPTIONS" inopenssl-fipsinstall(1)-dsa_sign_disabledtdes-encrypt-disabledβ see "OPTIONS" inopenssl-fipsinstall(1)-tdes_encrypt_disabledrsa-pkcs15-pad-disabledβ see "OPTIONS" inopenssl-fipsinstall(1)-rsa_pkcs15_pad_disabledrsa-pss-saltlen-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-rsa_pss_saltlen_checkrsa-sign-x931-pad-disabledβ see "OPTIONS" inopenssl-fipsinstall(1)-rsa_sign_x931_disabledhkdf-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-hkdf_key_checkkbkdf-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-kbkdf_key_checktls13-kdf-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-tls13_kdf_key_checktls1-prf-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-tls1_prf_key_checksshkdf-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-sshkdf_key_checksskdf-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-sskdf_key_checkx963kdf-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-x963kdf_key_checkx942kdf-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-x942kdf_key_checkpbkdf2-lower-bound-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-no_pbkdf2_lower_bound_checkecdh-cofactor-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-ecdh_cofactor_checkhmac-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-hmac_key_checkkmac-key-checkβ see "OPTIONS" inopenssl-fipsinstall(1)-kmac_key_check
For example β¨ (and yes, module-mac and install-mac here are literally that short β that's the example, don't come for me):
[fips_sect]
activate = 1
install-version = 1
conditional-errors = 1
security-checks = 1
module-mac = 41:D0:FA:C2:5D:41:75:CD:7D:C3:90:55:6F:A4:DC
install-mac = FE:10:13:5A:D3:B4:C7:82:1B:1E:17:4C:AC:84:0C
install-status = INSTALL_SELF_TEST_KATS_RUN
(the install-mac and install-status lines are, as established, deprecated β but they're in the example, so they stay. history! π»)
π NOTES π
When using the FIPS provider, it is recommended that the config_diagnostics option is enabled, to prevent accidental use of non-FIPS validated algorithms via broken or mistaken configuration.
fr fr bestie, turnconfig_diagnosticson. one typo in your config and you're accidentally running non-validated algorithms and nobody wants that conversation with the auditor. π seeconfig(5).
π SEE ALSO π
config(5) Β· openssl-fipsinstall(1)
β HISTORY β
This functionality was added in OpenSSL 3.0. vintage-ish. π
π COPYRIGHT π
Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
and that's the whole page, bestie β go forth and configure your FIPS module responsibly π§
mwah π β this was FIPS_CONFIG, from the OpenSSL 3.5.9 era, dated 2026-09-29. stay validated β¨
π¦ where this page comes from
- alpine 3.23: openssl-doc 3.5.9-r0 Β· Apache-2.0
- alpine 3.24: openssl-doc 3.5.9-r0 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms