Skip to main content

Certifi: Python SSL Certificates

Certifi is a carefully curated collection of Root Certificates for validating the trustworthiness of SSL certificates while verifying the identity of TLS hosts. It has been extracted from the Requests project.

Installation

certifi is available on PyPI. Simply install it with pip:

$ pip install certifi

Usage

To reference the installed certificate authority (CA) bundle, you can use the built-in function:

>>> import certifi

>>> certifi.where()
'/usr/local/lib/python2.7/site-packages/certifi/cacert.pem'

Enjoy!

1024-bit Root Certificates

Browsers and certificate authorities have concluded that 1024-bit keys are unacceptably weak for certificates, particularly root certificates. For this reason, Mozilla has removed any weak (i.e. 1024-bit key) certificate from its bundle, replacing it with an equivalent strong (i.e. 2048-bit or greater key) certificate from the same CA. Because Mozilla removed these certificates from its bundle, certifi removed them as well.

Unfortunately, old versions of OpenSSL (less than 1.0.2) sometimes fail to validate certificate chains that use the strong roots. For this reason, if you fail to validate a certificate using the certifi.where() mechanism, you can intentionally re-add the 1024-bit roots back into your bundle by calling certifi.old_where() instead. This is not recommended in production: if at all possible you should upgrade to a newer OpenSSL. However, if you have no other option, this may work for you.

Metadata

Release files for certifi 2017.7.27.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for certifi 2017.7.27.1
File Size Uploaded
certifi-2017.7.27.1.tar.gz 348.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for certifi 2017.7.27.1
File Interpreter ABI Platform
certifi-2017.7.27.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 697.8 kB

Release files / certifi-2017.7.27.1.tar.gz

Download URL certifi-2017.7.27.1.tar.gz
Size 348.2 kB
Tags Source
SHA-256 checksum
How to use checksums
40523d2efb60523e113b44602298f0960e900388cf3bb6043f645cf57ea9e3f5
BLAKE2b-256 checksum
How to use checksums
20d03f7a84b0c5b89e94abbd073a5f00c7176089f526edb056686751d5064cbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / certifi-2017.7.27.1-py2.py3-none-any.whl

Download URL certifi-2017.7.27.1-py2.py3-none-any.whl
Size 349.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
54a07c09c586b0e4c619f02a5e94e36619da8e2b053e20f594348c0611803704
BLAKE2b-256 checksum
How to use checksums
406606130724e8205fc8c105db7edb92871c7fff7d31324d7f4405c762624a43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

2017.7.27.1 This release

2 release files

1.0.1

2 release files

1.0.0

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page