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.8.tar.gz (90.8 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.8-py3-none-any.whl (96.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for jwcrypto-1.5.8.tar.gz
Algorithm Hash digest
SHA256 c3d7114b6f6e65b52f6b7da817eb8cb8423e1da31e1ef13508447c81ecbdcc34
MD5 d5131816de55f234e5c86fda1e98b8b8
BLAKE2b-256 de7e53c14813521693e931e420d9db00efe317419ff194495903bce03402275e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jwcrypto-1.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 85aeb475f808d56bbc2f2ed1f6f73e6a317c4011a4321505f02f0aed695a3742
MD5 a57254de76297367d5b11d759a02570b
BLAKE2b-256 6e7cf87c5db042c4f7b4476346fc0d22f1025a777fee08eebde3720d3b9c4eb5

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