Skip to main content

A library for using DANE for identity-secured JWE and JWS.

Project description

A library for using JWE and JWS with DANE for identity-secured messaging.

This library enables the easy generation of signed and encrypted messages, using TLSA records in DNS for public key discovery. This library places the DNS URI in the x5u protected header field. The receiving party uses this field for discovering the public key which is used for verifying message payload.

Note: Currently, only RSA public keys are supported (RSA-OAEP-256 for encryption and RS256 for signing)

Documentation Status https://circleci.com/gh/ValiMail/dane-jwe-jws.svg?style=shield Maintainability Test Coverage

Quick Start

Installation

pip install dane-jwe-jws

Encrypt a message using a DANE-represented identity

from dane_jwe_jws.encryption import Encryption
test_message = "hello world!!"
identity_name = "dns.name.where.cert.lives.in.a.tlsa.record"
encrypted = Encryption.encrypt(test_message, identity_name)
print(encrypted)

More examples

Changelog

v0.6

Changes

  • Update dane-discovery pin to v0.14. This update includes changes to the pattern used for forming the PKIXCD CA certificate URL. [Ash Wilson]

    Close #11

v0.5 (2021-05-31)

Fix

  • Fix issue where only PKIX-CD certs were retrieved for authentication. [Ash Wilson]

    Close #9

v0.4 (2021-05-28)

Changes

  • Improve flexibility of Utility.get_pubkey_from_dns(). [Ash Wilson]

    Unspecified dane_type argument for Util.get_pubkey_from_dns() will cause the first entity certificate of any type to be returned.

    Close #7

v0.3 (2021-05-19)

Changes

  • Update CHANGELOG.rst. [Ash Wilson]

  • Add strict mode support. [Ash Wilson]

    Closes #1

Other

v0.2 (2020-09-14)

Fix

  • Correct parsing of DNS URI for message verification. [Ash Wilson]

v0.1 (2020-08-05)

New

  • Initial commit. [Ash Wilson]

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

dane_jwe_jws-0.6.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

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

dane_jwe_jws-0.6-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file dane_jwe_jws-0.6.tar.gz.

File metadata

  • Download URL: dane_jwe_jws-0.6.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.10

File hashes

Hashes for dane_jwe_jws-0.6.tar.gz
Algorithm Hash digest
SHA256 6cd27803ef8c9b54f73f77ed890b402900cf550742010d55e9a01e68815d797e
MD5 384348c9f6dd5f1b170477ecef2e24f4
BLAKE2b-256 d8aac05ddabb90dcce396c00c3a52238d3d894a10aff25f36c13a03c9ff546b0

See more details on using hashes here.

File details

Details for the file dane_jwe_jws-0.6-py3-none-any.whl.

File metadata

  • Download URL: dane_jwe_jws-0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.10

File hashes

Hashes for dane_jwe_jws-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 85ea3d6cdbf4150a72ecd57e25cca93b189c08ff4fb82c069dfa632cce66c599
MD5 600e91d603d3216b09673b0bf104559d
BLAKE2b-256 582b14e36c4bb946a27fd82c17839dd47c3feae1714a3b54cded8d2e9ef3342f

See more details on using hashes here.

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