Skip to content

Commit 3997097

Browse files
committed
PYTHON-2508 Update PyOpenSSL related deps
1 parent d5627f0 commit 3997097

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

setup.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,18 @@ def build_extension(self, ext):
322322
# in set_default_verify_paths we should really avoid.
323323
# service_identity 18.1.0 introduced support for IP addr matching.
324324
pyopenssl_reqs = ["pyopenssl>=17.2.0", "requests<3.0.0", "service_identity>=18.1.0"]
325+
# PyOpenSSL is incapable of loading system CA certs on Windows
326+
# and mostly incapable on macOS.
327+
# https://www.pyopenssl.org/en/stable/api/ssl.html#OpenSSL.SSL.Context.set_default_verify_paths
328+
if sys.platform == 'win32':
329+
# wincertstore appears dead and only claims support for
330+
# Python versions <= 3.4.
331+
if sys.version_info[:2] < (3, 5):
332+
pyopenssl_reqs.append("wincertstore>=0.2")
333+
else:
334+
pyopenssl_reqs.append("certifi")
335+
elif sys.platform == "darwin":
336+
pyopenssl_reqs.append("certifi")
325337

326338
extras_require = {
327339
'encryption': ['pymongocrypt<2.0.0'],
@@ -347,21 +359,11 @@ def build_extension(self, ext):
347359
for req in pyopenssl_reqs:
348360
extras_require['tls'].append(
349361
"%s ; python_full_version < '2.7.9'" % (req,))
350-
if sys.platform == 'win32':
351-
extras_require['tls'].append(
352-
"wincertstore>=0.2 ; python_full_version < '2.7.9'")
353-
else:
354-
extras_require['tls'].append(
355-
"certifi ; python_full_version < '2.7.9'")
356362
elif sys.version_info < (2, 7, 9):
357363
# For installing from source or egg files on Python versions
358364
# older than 2.7.9, or systems that have setuptools versions
359365
# older than 20.10.
360366
extras_require['tls'].extend(pyopenssl_reqs)
361-
if sys.platform == 'win32':
362-
extras_require['tls'].append("wincertstore>=0.2")
363-
else:
364-
extras_require['tls'].append("certifi")
365367
extras_require.update({'srv': ["dnspython>=1.16.0,<1.17.0"]})
366368
extras_require.update({'tls': ["ipaddress"]})
367369
else:

0 commit comments

Comments
 (0)