[issue46149] FIPS usedforsecurity flag is no longer functional with OpenSSL 3.0.0

2021-12-22 Thread Christian Heimes
Christian Heimes added the comment: Your patch gets the work done, but it's even slower than my WIP patch set. Hashing is a performance critical path. The new fetch() API in OpenSSL 3.0.0 is substantially slower than the old OpenSSL 1.1.1 APIs. Python 3.9 and earlier still support OpenSSL 1.

[issue46149] FIPS usedforsecurity flag is no longer functional with OpenSSL 3.0.0

2021-12-22 Thread Florin Spătar
Florin Spătar added the comment: I was able to get past this issue with minimal changes: https://github.com/florinspatar/cpython/commit/3b16c65eb3e54c0be40413ebabf504356e303e8a I see the issue you linked, handles multiple OpenSSL 3.0.0 problems. AFAIK, python 3 no longer supports OpenSSL 1.0.2

[issue46149] FIPS usedforsecurity flag is no longer functional with OpenSSL 3.0.0

2021-12-22 Thread Christian Heimes
Christian Heimes added the comment: This is a known issue, see #40479. OpenSSL 3.0.0 new provider system requires a major redesign of hashlib module's internals. It's not a trivial change. My first attempt GH-19878 has some flaws and introduces a performance regression. -- superseder

[issue46149] FIPS usedforsecurity flag is no longer functional with OpenSSL 3.0.0

2021-12-22 Thread Florin Spătar
New submission from Florin Spătar : I added christian.heimes to the nosy list; I hope that's OK usedforsecurity flag is based on setting the EVP_MD_CTX_FLAG_NON_FIPS_ALLOW flag. However this flag has no effect in OpenSSL 3.0.0. [root@lambada ~]# /opt/opsware/bin/python3 Python 3.10.0 (