Skip to main content

Python package for providing Mozilla's CA Bundle.

Project description

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certifi-2016.8.31.tar.gz (376.6 kB view details)

Uploaded Source

Built Distribution

certifi-2016.8.31-py2.py3-none-any.whl (379.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file certifi-2016.8.31.tar.gz.

File metadata

  • Download URL: certifi-2016.8.31.tar.gz
  • Upload date:
  • Size: 376.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for certifi-2016.8.31.tar.gz
Algorithm Hash digest
SHA256 f7708a42d86f29ccc7c8c4ff9d34a8d854d8d78eb2973d1f28406bb43d6b8919
MD5 2f22d484a36d38d98be74f9eeb2846ec
BLAKE2b-256 1cd10133a5084f0d17db0270c6061e824a11b0e417d743f5ff4c594f4090ed89

See more details on using hashes here.

File details

Details for the file certifi-2016.8.31-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for certifi-2016.8.31-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 172844a3e2896c924e6aa2657b2e56586a724f27edd0e9592be9353f3a3f6c73
MD5 0931a7d2576083826efa419d695117a3
BLAKE2b-256 3421ebb383f944dfc3a14461ee021089da90477be919a5554117c184ae3d44be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page