I’m trying to build httpd 2.4.54 against OpenSSL 3.0.5 compiled for FIPS. I’ve 
followed the OpenSSL and httpd build docs, but when I turn on the SSLFIPS 
directive in my config, I still get an error message saying “SSLFIPS invalid, 
rebuild httpd and openssl compiled for FIPS”. A Google search turns up plenty 
of results for compiling older OpenSSL versions for FIPS, but nothing for 
OpenSSL 3 and the new FIPS module.

I’ve put together a Docker container with my attempt at a FIPS build: 
https://github.com/SmithJosh/httpd-openssl3-fips/blob/main/Dockerfile

A couple notes:

1. I ran “./Configure enable-fips” before building OpenSSL and added the 
following to /usr/local/ssl/openssl.cnf after building to enable FIPS mode

```
config_diagnostics = 1
openssl_conf = openssl_init

.include /usr/local/ssl/fipsmodule.cnf

[openssl_init]
providers = provider_sect

[provider_sect]
fips = fips_sect
base = base_sect

[base_sect]
activate = 1
```

2. Running “openssl md5 <<< ‘12345’” returns the following error which I 
believe indicates I’ve enabled FIPS mode correctly

```
# openssl md5 <<< "12345"
Error setting digest
80327F263C7F0000:error:0308010C:digital envelope 
routines:inner_evp_generic_fetch:unsupported:crypto/evp/evp_fetch.c:349:Global 
default library context, Algorithm (MD5 : 102), Properties ()
80327F263C7F0000:error:03000086:digital envelope 
routines:evp_md_init_internal:initialization error:crypto/evp/digest.c:252:
```

With that in mind, I’m confused why Apache still complains about not being 
compiled for FIPS. What am I missing?

Thanks,
Josh

Reply via email to