Skip to content

Commit 6a0e0aa

Browse files
committed
Explicitly load default certificates when creating SSL context (httpie#1583)
Requests prior to 2.32.3 always loaded the default (system-wide) set of trusted certificates into custom SSL contexts. 2.32.3 no longer does. This has broken a lot of users, but the fix is moving slowly upstream due to security considerations - see psf/requests#6730 and psf/requests#6731 . As suggested at psf/requests#6710 (comment) this can be worked around by explicitly loading the default certificates into the context. We check the method exists before calling it just to be safe, but I'm pretty sure it's been there as long as this interface has existed. Signed-off-by: Adam Williamson <awilliam@redhat.com>
1 parent f4cf43e commit 6a0e0aa

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

‎httpie/ssl_.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ def __init__(
4848
ssl_version=ssl_version,
4949
ciphers=ciphers,
5050
)
51+
# workaround for a bug in requests 2.32.3, see:
52+
# https://github.com/httpie/cli/issues/1583
53+
if getattr(self._ssl_context, 'load_default_certs', None) is not None:
54+
self._ssl_context.load_default_certs()
5155
super().__init__(**kwargs)
5256

5357
def init_poolmanager(self, *args, **kwargs):

0 commit comments

Comments
 (0)