Skip to main content

Access your OS root certificates with utmost ease

Project description

Wassima 🔒

I named this library after my wife, whom I trust the most. ❤️

Download Count Total

This project offers you a great alternative to the MPL licensed certifi.

This project allows you to access your original operating system trust store, thus helping you to verify the remote peer certificates. It automatically fallback to an embedded trust store generated from the CCADB trusted source.

It works as-is out-of-the-box for any operating systems out there. Available on PyPy and Python 3.7+

✨ Installation

Using pip:

pip install wassima -U

Get started

A) Create a SSLContext

import wassima

ctx = wassima.create_default_ssl_context()
# ... The context magically contain your system root CAs, the rest is up to you!

B) Retrieve individually root CAs in a binary form (DER)

import wassima

certs = wassima.root_der_certificates()
# ... It contains a list of certificate represented in bytes

C) Retrieve individually root CAs in a string form (PEM)

import wassima

certs = wassima.root_pem_certificates()
# ... It contains a list of certificate represented in string

D) Retrieve a single bundle (concatenated) list of PEM certificates like certifi does

import wassima

bundle = wassima.generate_ca_bundle()
# ... It contains a string with all of your root CAs!
# It is not a path but the file content itself.

C) Register your own CA in addition to the system's

import wassima

# register CA only accept string PEM (one at a time!)
wassima.register_ca(open("./myrootca.pem", "r").read())
bundle = wassima.generate_ca_bundle()
# ... It contains a string with all of your root CAs, PLUS your own 'myrootca.pem'.
# It is not a path but the file content itself.

Project details


Download files

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

Source Distribution

wassima-2.0.5.tar.gz (143.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wassima-2.0.5-py3-none-any.whl (138.8 kB view details)

Uploaded Python 3

File details

Details for the file wassima-2.0.5.tar.gz.

File metadata

  • Download URL: wassima-2.0.5.tar.gz
  • Upload date:
  • Size: 143.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wassima-2.0.5.tar.gz
Algorithm Hash digest
SHA256 91a0da50799d9b4ef7a85f23a37c9aabe629f75c2dd9616ee4abc1f4c17d10a7
MD5 de4daf096d3446e91c5bb6735a1dbd36
BLAKE2b-256 6fe64f9413cd115fe724fcc0ea83db1d43fdeb8dff59ea5d55e7788a946b0afd

See more details on using hashes here.

Provenance

The following attestation bundles were made for wassima-2.0.5.tar.gz:

Publisher: CI.yml on jawah/wassima

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wassima-2.0.5-py3-none-any.whl.

File metadata

  • Download URL: wassima-2.0.5-py3-none-any.whl
  • Upload date:
  • Size: 138.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wassima-2.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e60b567b26b87c83ff310a191d9c584113f13c0bcea0564f92e7630b17da319b
MD5 d18813b8bfa5dc29e0b58804de3a13c3
BLAKE2b-256 e3d9e81c8de18b3edd22e1884ed6b8cfc2ce260addb110fd519781ea54274e38

See more details on using hashes here.

Provenance

The following attestation bundles were made for wassima-2.0.5-py3-none-any.whl:

Publisher: CI.yml on jawah/wassima

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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