diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2012-05-04 16:26:02 +0200 |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2012-05-04 16:26:02 +0200 |
commit | 16f6f8338b649345ff6de7c49b1d691102ef3b22 (patch) | |
tree | 1ed1ed064bfbc04e878303f88a8d47f91345cc6d /Lib/test/test_ssl.py | |
parent | ab3da290fedc48e1d0d2ea6222e067bc2e598ad1 (diff) | |
download | cpython-git-16f6f8338b649345ff6de7c49b1d691102ef3b22.tar.gz |
Fix test connecting to sha256.tbs-internet.com.
The certificate has changed and the test now needs SNI to pass.
Diffstat (limited to 'Lib/test/test_ssl.py')
-rw-r--r-- | Lib/test/test_ssl.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py index 1b08f2e7dc..551151e873 100644 --- a/Lib/test/test_ssl.py +++ b/Lib/test/test_ssl.py @@ -713,13 +713,18 @@ class NetworkedTests(unittest.TestCase): # SHA256 was added in OpenSSL 0.9.8 if ssl.OPENSSL_VERSION_INFO < (0, 9, 8, 0, 15): self.skipTest("SHA256 not available on %r" % ssl.OPENSSL_VERSION) + # sha256.tbs-internet.com needs SNI to use the correct certificate + if not ssl.HAS_SNI: + self.skipTest("SNI needed for this test") # https://sha2.hboeck.de/ was used until 2011-01-08 (no route to host) remote = ("sha256.tbs-internet.com", 443) sha256_cert = os.path.join(os.path.dirname(__file__), "sha256.pem") with support.transient_internet("sha256.tbs-internet.com"): - s = ssl.wrap_socket(socket.socket(socket.AF_INET), - cert_reqs=ssl.CERT_REQUIRED, - ca_certs=sha256_cert,) + ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1) + ctx.verify_mode = ssl.CERT_REQUIRED + ctx.load_verify_locations(sha256_cert) + s = ctx.wrap_socket(socket.socket(socket.AF_INET), + server_hostname="sha256.tbs-internet.com") try: s.connect(remote) if support.verbose: |