-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
When FIPS mode is enabled, MD5 is disabled in OpenSSL.
Verify at the command prompt:
%openssl md5 [some file]
Error setting digest md5
140656009516960:error:060800A3:digital envelope routines:EVP_DigestInit_ex:disabled for fips:digest.c:256:
Expected Behavior
Fallback to other message digest mechanism
Current Behavior
Running couchdb with FIPS enabled results in the following abort
md5_dgst.c(82): OpenSSL internal error, assertion failed: Digest MD5 forbidden in FIPS mode!
[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
Aborted
Possible Solution
Provide alternative message digest mechanism. Remove direct calls to crypto:hash MD5, and reference couchdb hash.
There is an impact to the CouchDB API
Steps to Reproduce (for bugs)
- Enable FIPS on CentOS 6.9 following this procedure
- Build release couchdb
- Execute couchdb
- Couchdb aborts
Context
Unable to use CouchDB for a project. If CouchDB unable to run on FIPS compliant CentOS will have to abandon CouchDB.
Your Environment
- Version used: Couchdb as of commit d3a5a71
- Browser Name and version:
- Operating System and version (desktop or mobile): CentOS 6.9 yum update as of 2/15/2018
- Link to your project: Internal project