diff -up libgcrypt-1.8.3/cipher/md.c.fips-enforce libgcrypt-1.8.3/cipher/md.c --- libgcrypt-1.8.3/cipher/md.c.fips-enforce 2017-11-23 19:16:58.000000000 +0100 +++ libgcrypt-1.8.3/cipher/md.c 2020-04-17 15:07:31.364945130 +0200 @@ -409,13 +409,10 @@ md_enable (gcry_md_hd_t hd, int algorith } - if (!err && algorithm == GCRY_MD_MD5 && fips_mode ()) + if (!err && !spec->flags.fips && fips_mode ()) { - _gcry_inactivate_fips_mode ("MD5 used"); if (_gcry_enforced_fips_mode () ) { - /* We should never get to here because we do not register - MD5 in enforced fips mode. But better throw an error. */ err = GPG_ERR_DIGEST_ALGO; } }