diff options
author | Victor Stinner <vstinner@python.org> | 2020-04-29 18:04:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-29 09:04:22 -0700 |
commit | e3dfb9b967c560f4d094092dcae4a16fc9634681 (patch) | |
tree | 87cce94d1a8858c6a8cf591557a5778d7e01ae65 /Lib/test/pythoninfo.py | |
parent | e5963ee32035d279c12ef32e87205d4c3e5e4a0e (diff) | |
download | cpython-git-e3dfb9b967c560f4d094092dcae4a16fc9634681.tar.gz |
bpo-9216: Expose OpenSSL FIPS_mode() as _hashlib.get_fips_mode() (GH-19703)
test.pythoninfo logs OpenSSL FIPS_mode() and Linux
/proc/sys/crypto/fips_enabled in a new "fips" section.
Co-Authored-By: Petr Viktorin <encukou@gmail.com>
Diffstat (limited to 'Lib/test/pythoninfo.py')
-rw-r--r-- | Lib/test/pythoninfo.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py index cc0bbc5fe3..cc228fb3b5 100644 --- a/Lib/test/pythoninfo.py +++ b/Lib/test/pythoninfo.py @@ -720,6 +720,25 @@ def collect_windows(info_add): pass +def collect_fips(info_add): + try: + import _hashlib + except ImportError: + _hashlib = None + + if _hashlib is not None: + call_func(info_add, 'fips.openssl_fips_mode', _hashlib, 'get_fips_mode') + + try: + with open("/proc/sys/crypto/fips_enabled", encoding="utf-8") as fp: + line = fp.readline().rstrip() + + if line: + info_add('fips.linux_crypto_fips_enabled', line) + except OSError: + pass + + def collect_info(info): error = False info_add = info.add @@ -735,6 +754,7 @@ def collect_info(info): collect_datetime, collect_decimal, collect_expat, + collect_fips, collect_gdb, collect_gdbm, collect_get_config, |