@@ -8,7 +8,7 @@ of TLS hosts. It has been extracted from the `Requests`_ project.
88Installation
99------------
1010
11- `certifi ` is available on PyPI. Simply install it with `pip `::
11+ `` certifi `` is available on PyPI. Simply install it with `` pip ` `::
1212
1313 $ pip install certifi
1414
@@ -24,5 +24,23 @@ To reference the installed CA Bundle, you can use the built-in function::
2424
2525Enjoy!
2626
27+ 1024-bit Root Certificates
28+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
29+
30+ Browsers and certificate authorities have concluded that 1024-bit keys are
31+ unacceptably weak for certificates, particularly root certificates. For this
32+ reason, Mozilla has removed any weak (i.e. 1024-bit key) certificate from its
33+ bundle, replacing it with an equivalent strong (i.e. 2048-bit or greater key)
34+ certifiate from the same CA. Because Mozilla removed these certificates from
35+ its bundle, ``certifi `` removed them as well.
36+
37+ Unfortunately, old versions of OpenSSL (less than 1.0.2) sometimes fail to
38+ validate certificate chains that use the strong roots. For this reason, if you
39+ fail to validate a certificate using the ``certifi.where() `` mechanism, you can
40+ intentionally re-add the 1024-bit roots back into your bundle by calling
41+ ``certifi.old_where() `` instead. This is not recommended in production: if at
42+ all possible you should upgrade to a newer OpenSSL. However, if you have no
43+ other option, this may work for you.
44+
2745.. _`Certifi` : http://certifi.io/en/latest/
2846.. _`Requests` : http://docs.python-requests.org/en/latest/
0 commit comments