|
27 | 27 | import urllib.error
|
28 | 28 | import http.client
|
29 | 29 |
|
30 |
| -try: |
31 |
| - from _hashlib import get_fips_mode |
32 |
| -except ImportError: |
33 |
| - def get_fips_mode(): |
34 |
| - return 0 |
35 | 30 |
|
36 | 31 | support.requires_working_socket(module=True)
|
37 | 32 |
|
@@ -1969,23 +1964,29 @@ def test_parse_proxy(self):
|
1969 | 1964 | self.assertRaises(ValueError, _parse_proxy, 'file:/ftp.example.com'),
|
1970 | 1965 |
|
1971 | 1966 |
|
| 1967 | +skip_libssl_fips_mode = unittest.skipIf( |
| 1968 | + support.is_libssl_fips_mode(), |
| 1969 | + "conservative skip due to OpenSSL FIPS mode possible algorithm nerfing", |
| 1970 | +) |
| 1971 | + |
| 1972 | + |
1972 | 1973 | class TestDigestAuthAlgorithms(unittest.TestCase):
|
1973 | 1974 | def setUp(self):
|
1974 | 1975 | self.handler = AbstractDigestAuthHandler()
|
1975 | 1976 |
|
1976 |
| - @unittest.skipIf(get_fips_mode(), "fips mode; requires hashlib.md5") |
| 1977 | + @skip_libssl_fips_mode |
1977 | 1978 | def test_md5_algorithm(self):
|
1978 | 1979 | H, KD = self.handler.get_algorithm_impls('MD5')
|
1979 | 1980 | self.assertEqual(H("foo"), "acbd18db4cc2f85cedef654fccc4a4d8")
|
1980 | 1981 | self.assertEqual(KD("foo", "bar"), "4e99e8c12de7e01535248d2bac85e732")
|
1981 | 1982 |
|
1982 |
| - @unittest.skipIf(get_fips_mode(), "fips mode; requires hashlib.sha1") |
| 1983 | + @skip_libssl_fips_mode |
1983 | 1984 | def test_sha_algorithm(self):
|
1984 | 1985 | H, KD = self.handler.get_algorithm_impls('SHA')
|
1985 | 1986 | self.assertEqual(H("foo"), "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33")
|
1986 | 1987 | self.assertEqual(KD("foo", "bar"), "54dcbe67d21d5eb39493d46d89ae1f412d3bd6de")
|
1987 | 1988 |
|
1988 |
| - @unittest.skipIf(get_fips_mode(), "fips mode; requires hashlib.sha256") |
| 1989 | + @skip_libssl_fips_mode |
1989 | 1990 | def test_sha256_algorithm(self):
|
1990 | 1991 | H, KD = self.handler.get_algorithm_impls('SHA-256')
|
1991 | 1992 | self.assertEqual(H("foo"), "2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae")
|
|
0 commit comments