diff options
author | Simo Sorce <simo@redhat.com> | 2015-03-18 13:06:30 -0400 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2015-03-18 13:09:16 -0400 |
commit | 0435a3e3100b7f998bc1d24eafe6a8967da957b1 (patch) | |
tree | aa07a451705e88e313adf41ec8e732d43578dc16 /jwcrypto/jwk.py | |
parent | 7a131df18b4cbaa78929df1a1419f25898489815 (diff) | |
download | jwcrypto-0435a3e3100b7f998bc1d24eafe6a8967da957b1.tar.gz jwcrypto-0435a3e3100b7f998bc1d24eafe6a8967da957b1.tar.xz jwcrypto-0435a3e3100b7f998bc1d24eafe6a8967da957b1.zip |
Allow unknown key parameters
Thanks to Jan Rusnacko for pointing out this flaw.
Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'jwcrypto/jwk.py')
-rw-r--r-- | jwcrypto/jwk.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/jwcrypto/jwk.py b/jwcrypto/jwk.py index 8583ff1..95a05a4 100644 --- a/jwcrypto/jwk.py +++ b/jwcrypto/jwk.py @@ -142,6 +142,14 @@ class JWK(object): while name in names: names.remove(name) + # Unknown key parameters are allowed + # Let's just store them out of the way + self._unknown = dict() + for name in names: + self._unknown[name] = kwargs[name] + while name in names: + names.remove(name) + if len(names) != 0: raise InvalidJWKValue('Unknown key parameters: %s' % names) @@ -152,6 +160,7 @@ class JWK(object): d = dict() d.update(self._params) d.update(self._key) + d.update(self._unknown) return json.dumps(d) @property |