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.6.tar.gz (87.2 kB view details)

Uploaded Source

Built Distribution

jwcrypto-1.5.6-py3-none-any.whl (92.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jwcrypto-1.5.6.tar.gz
  • Upload date:
  • Size: 87.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for jwcrypto-1.5.6.tar.gz
Algorithm Hash digest
SHA256 771a87762a0c081ae6166958a954f80848820b2ab066937dc8b8379d65b1b039
MD5 1e4e957c883f41fc54d57c970512385e
BLAKE2b-256 e1db870e5d5fb311b0bcf049630b5ba3abca2d339fd5e13ba175b4c13b456d08

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jwcrypto-1.5.6-py3-none-any.whl
  • Upload date:
  • Size: 92.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for jwcrypto-1.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 150d2b0ebbdb8f40b77f543fb44ffd2baeff48788be71f67f03566692fd55789
MD5 304ca0e5c50d29fea29df2bee22ce861
BLAKE2b-256 cd584a1880ea64032185e9ae9f63940c9327c6952d5584ea544a8f66972f2fda

See more details on using hashes here.

Supported by

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