Utilities that assist with trust relationship checking of X.509 Certificates for various end-user devices with disparate root trust stores.
Project description
tlstrust
Utilities that assist with trust relationship checking of X.509 Certificates for various end-user devices with disparate root trust stores.
Documentation
In your app you can:
import os
from pathlib import Path
from OpenSSL.crypto import FILETYPE_ASN1
from tlstrust import TrustStore
der = Path(os.path.join(os.path.dirname(__file__), "cacert.der")).read_bytes()
trust_store = TrustStore(FILETYPE_ASN1, der)
print(trust_store.is_trusted())
Platform specific checking
all_trusted = trust_store.is_trusted()
assert all_trusted is True
assert trust_store.apple # Until December 1st 2021
assert trust_store.android
assert trust_store.linux
assert trust_store.ccadb # Windows, Mozilla, and Apple (from December 1st 2021)
assert trust_store.java
assert trust_store.certifi
Windows only
from tlstrust.context import PLATFORM_WINDOWS
assert trust_store.is_trusted(PLATFORM_WINDOWS)
Android only
from tlstrust.context import PLATFORM_ANDROID
assert trust_store.is_trusted(PLATFORM_ANDROID)
Java only
from tlstrust.context import PLATFORM_JAVA
assert trust_store.is_trusted(PLATFORM_JAVA)
Apple only
from tlstrust.context import PLATFORM_APPLE
assert trust_store.is_trusted(PLATFORM_APPLE)
Linux only
from tlstrust.context import PLATFORM_WINDOWS
assert trust_store.is_trusted(PLATFORM_LINUX)
Browser Trust Stores
from tlstrust.context import BROWSER_AMAZON_SILK, BROWSER_SAMSUNG_INTERNET_BROWSER, BROWSER_GOOGLE_CHROME, BROWSER_CHROMIUM, BROWSER_FIREFOX, BROWSER_BRAVE, BROWSER_SAFARI, BROWSER_MICROSOFT_EDGE, BROWSER_YANDEX_BROWSER, BROWSER_OPERA, BROWSER_VIVALDI, BROWSER_TOR_BROWSER
assert trust_store.is_trusted(BROWSER_AMAZON_SILK)
assert trust_store.is_trusted(BROWSER_SAMSUNG_INTERNET_BROWSER)
assert trust_store.is_trusted(BROWSER_GOOGLE_CHROME)
assert trust_store.is_trusted(BROWSER_CHROMIUM)
assert trust_store.is_trusted(BROWSER_FIREFOX)
assert trust_store.is_trusted(BROWSER_BRAVE)
assert trust_store.is_trusted(BROWSER_SAFARI)
assert trust_store.is_trusted(BROWSER_MICROSOFT_EDGE)
assert trust_store.is_trusted(BROWSER_YANDEX_BROWSER)
assert trust_store.is_trusted(BROWSER_OPERA)
assert trust_store.is_trusted(BROWSER_VIVALDI)
assert trust_store.is_trusted(BROWSER_TOR_BROWSER)
Programming Language Trust (Microservice architecture and APIs)
Python:
from tlstrust.context import PYTHON_WINDOWS_SERVER, PYTHON_LINUX_SERVER, PYTHON_MACOS_SERVER, PYTHON_CERTIFI, PYTHON_URLLIB, PYTHON_REQUESTS, PYTHON_DJANGO
assert trust_store.is_trusted(PYTHON_WINDOWS_SERVER)
assert trust_store.is_trusted(PYTHON_LINUX_SERVER)
assert trust_store.is_trusted(PYTHON_MACOS_SERVER)
assert trust_store.is_trusted(PYTHON_CERTIFI)
assert trust_store.is_trusted(PYTHON_URLLIB)
assert trust_store.is_trusted(PYTHON_REQUESTS)
assert trust_store.is_trusted(PYTHON_DJANGO)
Change Log
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
tlstrust-0.3.0.tar.gz
(165.4 kB
view hashes)
Built Distribution
tlstrust-0.3.0-py2.py3-none-any.whl
(172.1 kB
view hashes)
Close
Hashes for tlstrust-0.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0a8925fe1752ac579b7dbe556d4932ce7dc79631375b203821b4dfac6151674 |
|
MD5 | fb1adf402380006f5117fc5e88cf5fca |
|
BLAKE2b-256 | f20f9126fc00cf563a73f7f4509fddee83bf8de9d632b4bc97ce1dcb2341e1ff |