Skip to main content

Implementation of JOSE Web standards

Project description

PyPI Changelog Build Status ppc64le Build Code Scan Documentation Status

JWCrypto

An implementation of the JOSE Working Group documents:

  • RFC 7515 - JSON Web Signature (JWS)
  • RFC 7516 - JSON Web Encryption (JWE)
  • RFC 7517 - JSON Web Key (JWK)
  • RFC 7518 - JSON Web Algorithms (JWA)
  • RFC 7519 - JSON Web Token (JWT)
  • RFC 7520 - Examples of Protecting Content Using JSON Object Signing and Encryption (JOSE)

Installation

pip install jwcrypto

Documentation

http://jwcrypto.readthedocs.org

Deprecation Notices

2020.12.11: The RSA1_5 algorithm is now considered deprecated due to numerous implementation issues that make it a very problematic tool to use safely. The algorithm can still be used but requires explicitly allowing it on object instantiation. If your application depends on it there are examples of how to re-enable RSA1_5 usage in the tests files.

Note: if you enable support for RSA1_5 and the attacker can send you chosen ciphertext and is able to measure the processing times of your application, then your application will be vulnerable to a Bleichenbacher RSA padding oracle, allowing the so-called "Million messages attack". That attack allows to decrypt intercepted messages (even if they were encrypted with RSA-OAEP) or forge signatures (both RSA-PKCS#1 v1.5 and RSASSA-PSS).

Given JWT is generally used in tokens to sign authorization assertions or to encrypt private key material, this is a particularly severe issue, and must not be underestimated.

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

jwcrypto-1.5.7.tar.gz (89.5 kB view details)

Uploaded Source

Built Distribution

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

jwcrypto-1.5.7-py3-none-any.whl (94.8 kB view details)

Uploaded Python 3

File details

Details for the file jwcrypto-1.5.7.tar.gz.

File metadata

  • Download URL: jwcrypto-1.5.7.tar.gz
  • Upload date:
  • Size: 89.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jwcrypto-1.5.7.tar.gz
Algorithm Hash digest
SHA256 70204d7cca406eda8c82352e3c41ba2d946610dafd19e54403f0a1f4f18633c6
MD5 5c010e80333104c06800db3ba0405b09
BLAKE2b-256 8c90f065668004d22715c1940d6e88e4c3afc8ee16d5664e4478d2c8fd23a250

See more details on using hashes here.

File details

Details for the file jwcrypto-1.5.7-py3-none-any.whl.

File metadata

  • Download URL: jwcrypto-1.5.7-py3-none-any.whl
  • Upload date:
  • Size: 94.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jwcrypto-1.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 729463fefe28b6de5cf1ebfda3e94f1a1b41d2799148ef98a01cb9678ebe2bb0
MD5 bfd28afc5caccdb45e0f5cf1c20d509c
BLAKE2b-256 7224fb7da4d6613de7001feaf540d4b5969c6b5a1c42839043b0196cb13aa057

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