Skip to content

Commit eb7a56f

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 <[email protected]>
1 parent f4cf43e commit eb7a56f

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

httpie/ssl_.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ def __init__(
4848
ssl_version=ssl_version,
4949
ciphers=ciphers,
5050
)
51+
if getattr(self._ssl_context, 'load_default_certs', None) is not None:
52+
self._ssl_context.load_default_certs()
5153
super().__init__(**kwargs)
5254

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

0 commit comments

Comments
 (0)