diff options
author | Will Childs-Klein <willck93@gmail.com> | 2024-12-24 18:29:27 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-24 18:29:27 (GMT) |
commit | 418114c139666f33abff937e40ccbbbdce15bc39 (patch) | |
tree | 97db70de47e6bb97168b9aeaf6f03b9cb3905443 /Lib | |
parent | 7985d460c731b2c48419a33fc1820f9512bb6f21 (diff) | |
download | cpython-418114c139666f33abff937e40ccbbbdce15bc39.zip cpython-418114c139666f33abff937e40ccbbbdce15bc39.tar.gz cpython-418114c139666f33abff937e40ccbbbdce15bc39.tar.bz2 |
gh-128035: Add ssl.HAS_PHA to detect libssl PHA support (GH-128036)
* Add ssl.HAS_PHA to detect libssl Post-Handshake-Auth support
Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/ssl.py | 2 | ||||
-rw-r--r-- | Lib/test/test_httplib.py | 4 | ||||
-rw-r--r-- | Lib/test/test_ssl.py | 3 |
3 files changed, 5 insertions, 4 deletions
@@ -116,7 +116,7 @@ except ImportError: from _ssl import ( HAS_SNI, HAS_ECDH, HAS_NPN, HAS_ALPN, HAS_SSLv2, HAS_SSLv3, HAS_TLSv1, - HAS_TLSv1_1, HAS_TLSv1_2, HAS_TLSv1_3, HAS_PSK + HAS_TLSv1_1, HAS_TLSv1_2, HAS_TLSv1_3, HAS_PSK, HAS_PHA ) from _ssl import _DEFAULT_CIPHERS, _OPENSSL_API_VERSION diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py index 9d853d2..89963da 100644 --- a/Lib/test/test_httplib.py +++ b/Lib/test/test_httplib.py @@ -2073,8 +2073,8 @@ class HTTPSTest(TestCase): def test_tls13_pha(self): import ssl - if not ssl.HAS_TLSv1_3: - self.skipTest('TLS 1.3 support required') + if not ssl.HAS_TLSv1_3 or not ssl.HAS_PHA: + self.skipTest('TLS 1.3 PHA support required') # just check status of PHA flag h = client.HTTPSConnection('localhost', 443) self.assertTrue(h._context.post_handshake_auth) diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py index 3f6f890..c16ef3f 100644 --- a/Lib/test/test_ssl.py +++ b/Lib/test/test_ssl.py @@ -4494,7 +4494,8 @@ class ThreadedTests(unittest.TestCase): s.connect((HOST, server.port)) -@unittest.skipUnless(has_tls_version('TLSv1_3'), "Test needs TLS 1.3") +@unittest.skipUnless(has_tls_version('TLSv1_3') and ssl.HAS_PHA, + "Test needs TLS 1.3 PHA") class TestPostHandshakeAuth(unittest.TestCase): def test_pha_setter(self): protocols = [ |