You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You should try using system trust stores when there is a custom certificate
52
-
chain configured for your system that pip isn't aware of. Typically, this
53
-
situation will manifest with an `SSLCertVerificationError` with the message
54
-
"certificate verify failed: unable to get local issuer certificate":
55
-
56
-
```{pip-cli}
57
-
$ pip install -U SomePackage
58
-
[...]
59
-
SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (\_ssl.c:997)'))) - skipping
60
25
```
61
26
62
-
This error means that OpenSSL wasn't able to find a trust anchor to verify the
63
-
chain against. Using system trust stores instead of certifi will likely solve
64
-
this issue.
27
+
If Python 3.10 or later is being used then by default
28
+
system certificates are used in addition to certifi to verify HTTPS connections.
29
+
This functionality is provided through the {pypi}`truststore` package.
65
30
66
31
If you encounter a TLS/SSL error when using the `truststore` feature you should
67
32
open an issue on the [truststore GitHub issue tracker] instead of pip's issue
68
33
tracker. The maintainers of truststore will help diagnose and fix the issue.
69
34
35
+
To opt-out of using system certificates you can pass the `--use-deprecated=legacy-certs`
36
+
flag to pip.
37
+
38
+
```{warning}
39
+
If Python 3.9 or earlier is in use then only certifi is used to verify HTTPS connections.
0 commit comments