python - 链接 Python3 的 Openssl-FIPS 库

标签 python python-3.x openssl fips

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

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

此外,我可以从 ssl.OPENSSL_VERSION 获取正确的版本

但即使在设置 FIPS_mode() 后,哈希 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)。

关于python - 链接 Python3 的 Openssl-FIPS 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60090838/

相关文章:

python - Python 运行最少需要哪些文件/库?

java - 创建 TreeMap 可视化

python - 要求用户提供输入,直到他们给出有效的答复

amazon-web-services - 如何签署 CSR 以在 AWS ACM 中启用私有(private)证书颁发机构 (CA)? (如何生成版本3证书?)

ruby - 尝试通过 SSL 创建一个简单的 Ruby 服务器

Python OpenSSL - 验证 CRL 文件

python - Python Scipy 中的麦克斯韦分布

python - Haystack 中的可变长度针(Python)

python - Matlab 到 Python - 为什么嵌套 for 循环在 python 中运行频率是两倍?

python - 用不完整的数据填充 Pandas DataFrame