summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2014-10-03 21:27:05 (GMT)
committerBenjamin Peterson <benjamin@python.org>2014-10-03 21:27:05 (GMT)
commit5915b0f924152b4801c1fe49aff348fd1981cc05 (patch)
treefd507980526910467e5f213624f12d41471f18bd /Lib
parent7280561b5b2363c50797fbec301fefcd1e5a8040 (diff)
downloadcpython-5915b0f924152b4801c1fe49aff348fd1981cc05.zip
cpython-5915b0f924152b4801c1fe49aff348fd1981cc05.tar.gz
cpython-5915b0f924152b4801c1fe49aff348fd1981cc05.tar.bz2
also use openssl envvars to find certs on windows (closes #22449)
Patch by Christian Heimes and Alex Gaynor.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/ssl.py3
-rw-r--r--Lib/test/test_ssl.py8
2 files changed, 9 insertions, 2 deletions
diff --git a/Lib/ssl.py b/Lib/ssl.py
index d3c18ed..d9d1916 100644
--- a/Lib/ssl.py
+++ b/Lib/ssl.py
@@ -390,8 +390,7 @@ class SSLContext(_SSLContext):
if sys.platform == "win32":
for storename in self._windows_cert_stores:
self._load_windows_store_certs(storename, purpose)
- else:
- self.set_default_verify_paths()
+ self.set_default_verify_paths()
def create_default_context(purpose=Purpose.SERVER_AUTH, *, cafile=None,
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index d1cf5b2..c2a4f0e 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -1016,6 +1016,14 @@ class ContextTests(unittest.TestCase):
self.assertRaises(TypeError, ctx.load_default_certs, None)
self.assertRaises(TypeError, ctx.load_default_certs, 'SERVER_AUTH')
+ def test_load_default_certs_env(self):
+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
+ with support.EnvironmentVarGuard() as env:
+ env["SSL_CERT_DIR"] = CAPATH
+ env["SSL_CERT_FILE"] = CERTFILE
+ ctx.load_default_certs()
+ self.assertEqual(ctx.cert_store_stats(), {"crl": 0, "x509": 1, "x509_ca": 0})
+
def test_create_default_context(self):
ctx = ssl.create_default_context()
self.assertEqual(ctx.protocol, ssl.PROTOCOL_SSLv23)