链接Python3的Openssl FIPS库

链接Python3的Openssl FIPS库,python,python-3.x,openssl,fips,Python,Python 3.x,Openssl,Fips,我已经在fips模式下构建了OpenSSL,并尝试构建python3,并使用现有的OpenSSL库 LDD命令显示正确的加密和ssl共享对象 另外,我可以从ssl.OPENSSL\u版本获得正确的版本 但即使设置了FIPS\u mode(),hash md5也不会出错 下面是输出 Python 3.6.5 (default, Feb 6 2020, 08:35:23) GCC 4.7.4] on linux OPENSSL_VERSION: XXXXXX 1.0.2u.XXXXX-fips F

我已经在fips模式下构建了OpenSSL,并尝试构建python3,并使用现有的OpenSSL库

LDD命令显示正确的加密和ssl共享对象

另外,我可以从ssl.OPENSSL\u版本获得正确的版本

但即使设置了
FIPS\u mode()
,hash md5也不会出错

下面是输出

Python 3.6.5 (default, Feb  6 2020, 08:35:23)
GCC 4.7.4] on linux
OPENSSL_VERSION: XXXXXX 1.0.2u.XXXXX-fips
FIPS_mode(): 0
FIPS_mode_set(1): 1
FIPS_mode(): 1
SHA1: da39a3ee5e6b4b0d3255bfef95601890afd80709
MD5: d41d8cd98f00b204e9800998ecf8427e

我无法理解为什么MD5没有失败。

这个场景是因为Python自带了自己的MD5。这可以在python3 hashlib.py文件中看到,在该文件中,它首先尝试加载OpenSSL md5,如果找不到,那么它将加载自己的md5库(_md5)