From 63c7d23a35916ca5fe0a6d2dd3af6c0e4fbf3b39 Mon Sep 17 00:00:00 2001 From: Jakob Schlyter Date: Fri, 23 May 2025 17:29:38 +0200 Subject: [PATCH] Add support for brainpool curves --- pyproject.toml | 2 +- src/cryptojwt/jwk/ec.py | 3 +++ tests/test_02_jwk.py | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ed17238..d327c37 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ [tool.poetry] name = "cryptojwt" -version = "1.9.4" +version = "1.10.0" description = "Python implementation of JWT, JWE, JWS and JWK" authors = ["Roland Hedberg "] license = "Apache-2.0" diff --git a/src/cryptojwt/jwk/ec.py b/src/cryptojwt/jwk/ec.py index 0b067c0..cc85c2b 100644 --- a/src/cryptojwt/jwk/ec.py +++ b/src/cryptojwt/jwk/ec.py @@ -26,6 +26,9 @@ "P-224": ec.SECP224R1, "P-192": ec.SECP192R1, "P-256K": ec.SECP256K1, + "brainpoolp256r1": ec.BrainpoolP256R1, + "brainpoolp384r1": ec.BrainpoolP384R1, + "brainpoolp512r1": ec.BrainpoolP512R1, } # Inverted NIST2SEC dictionary diff --git a/tests/test_02_jwk.py b/tests/test_02_jwk.py index 03ae60e..598f6b9 100755 --- a/tests/test_02_jwk.py +++ b/tests/test_02_jwk.py @@ -200,6 +200,12 @@ def test_create_eckey(): assert _eq(list(exp_key.keys()), ["y", "x", "crv", "kty", "kid"]) +def test_create_eckey_brainpoolp256r1(): + ec = new_ec_key("brainpoolp256r1") + exp_key = ec.serialize() + assert _eq(list(exp_key.keys()), ["y", "x", "crv", "kty", "kid"]) + + def test_cmp_neq_ec(): ec_key = new_ec_key("P-256") _key1 = ECKey(priv_key=ec_key.priv_key)