Is your feature request related to a problem?
I mentioned this once or twice in the past. Now, I'm filing a tracking issue with action items.
People often face the problem of TLS certificate verification failing in the Python land while other tools in the same OS/runtime work. This is because Python's stdlib ssl is not set up to consult system trust stores.
The truststore library implements this with its drop-in replacement SSLContext and OS-specific API integrations. pip 24.2+ uses it by default and we should too.
This will improve the UX for our HTTP client. Though, the end-users can still use either stdlib ssl, or truststore-produce when passing an explicit context object.
Describe the solution you'd like
Relying on system-managed TLS trust stores when making HTTPS requests.
Action items:
Describe alternatives you've considered
N/A
Related component
Client
Additional context
Code of Conduct
Is your feature request related to a problem?
I mentioned this once or twice in the past. Now, I'm filing a tracking issue with action items.
People often face the problem of TLS certificate verification failing in the Python land while other tools in the same OS/runtime work. This is because Python's stdlib
sslis not set up to consult system trust stores.The
truststorelibrary implements this with its drop-in replacementSSLContextand OS-specific API integrations. pip 24.2+ uses it by default and we should too.This will improve the UX for our HTTP client. Though, the end-users can still use either stdlib
ssl, ortruststore-produce when passing an explicit context object.Describe the solution you'd like
Relying on system-managed TLS trust stores when making HTTPS requests.
Action items:
ssl.SSLContextobjects (may be created viassl.create_default_context())truststore.SSLContexttruststorewhich should be shielded on import with a fallback to just stdlibssltruststoreshould probably be a mandatory runtime dependency in packaging core metadata; although, maybe we need to follow pip's example and make it optional first (via extras or manual install) and then add it unconditionally laterDescribe alternatives you've considered
N/A
Related component
Client
Additional context
Code of Conduct