"fips",
"fips-securitychecks",
"fips-post",
+ "fips-jitter",
"fuzz-afl",
"fuzz-libfuzzer",
"gost",
our %disabled = ( # "what" => "comment"
"fips" => "default",
+ "fips-jitter" => "default",
"asan" => "default",
"brotli" => "default",
"brotli-dynamic" => "default",
"cmp" => [ "crmf" ],
- "fips" => [ "fips-securitychecks", "fips-post", "acvp-tests" ],
+ "fips" => [ "fips-securitychecks", "fips-post", "acvp-tests",
+ "fips-jitter" ],
"threads" => [ "thread-pool" ],
"thread-pool" => [ "default-thread-pool" ],
{
delete $disabled{"zstd"};
}
+ elsif ($1 eq "fips-jitter")
+ {
+ delete $disabled{"fips"};
+ delete $disabled{"jitter"};
+ }
my $algo = $1;
delete $disabled{$algo};
[random]
seed=JITTER
-It uses a statically linked [jitterentropy-library](https://github.com/smuellerDD/jitterentropy-library) as the seed source.
+It uses a statically linked [jitterentropy-library] as the seed source.
Additional configuration flags available:
This option MUST be used for debugging only as it makes the FIPS provider
non-compliant. It is useful when setting breakpoints in FIPS algorithms.
+### enable-fips-jitter
+
+Use the CPU Jitter library as a FIPS validated entropy source.
+
+This option will only produce a compliant FIPS provider if you have:
+
+1. independently performed the required [SP 800-90B] entropy assessments;
+2. meet the minimum required entropy as specified by [jitterentropy-library];
+3. obtain an [ESV] certificate for the [jitterentropy-library] and
+4. have had the resulting FIPS provider certified by the [CMVP].
+
+Failure to do all of these will produce a non-compliant FIPS provider.
+
### enable-fuzz-libfuzzer, enable-fuzz-afl
Build with support for fuzzing using either libfuzzer or AFL.
[10-main.conf]:
Configurations/10-main.conf
+
+[CMVP]:
+ <https://csrc.nist.gov/projects/cryptographic-module-validation-program>
+
+[ESV]:
+ <https://csrc.nist.gov/Projects/cryptographic-module-validation-program/entropy-validations>
+
+[SP 800-90B]:
+ <https://csrc.nist.gov/pubs/sp/800/90/b/final>
+
+[jitterentropy-library]:
+ <https://github.com/smuellerDD/jitterentropy-library>