summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÅsmund Ødegård <mandus@gmail.com>2013-10-11 00:22:37 +0200
committerÅsmund Ødegård <mandus@gmail.com>2013-10-11 00:22:37 +0200
commit09183e2dd69484b42c893fec0e9f28c7b74d990f (patch)
tree67ec34384c6d39edea9b18ac25c1f00b867f840a
parent6a842d5dca137aab0555b0bec0eaacb0e17c0bf8 (diff)
downloadpyjwt-09183e2dd69484b42c893fec0e9f28c7b74d990f.tar.gz
master: Added support for more RSA-SHA options.
-rw-r--r--jwt/__init__.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/jwt/__init__.py b/jwt/__init__.py
index 407ac8c..31cee10 100644
--- a/jwt/__init__.py
+++ b/jwt/__init__.py
@@ -13,6 +13,8 @@ from collections import Mapping
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA256
+from Crypto.Hash import SHA384
+from Crypto.Hash import SHA512
try:
import json
@@ -35,6 +37,8 @@ signing_methods = {
'HS384': lambda msg, key: hmac.new(key, msg, hashlib.sha384).digest(),
'HS512': lambda msg, key: hmac.new(key, msg, hashlib.sha512).digest(),
'RS256': lambda msg, key: PKCS1_v1_5.new(key).sign(SHA256.new(msg)),
+ 'RS384': lambda msg, key: PKCS1_v1_5.new(key).sign(SHA384.new(msg)),
+ 'RS512': lambda msg, key: PKCS1_v1_5.new(key).sign(SHA512.new(msg)),
}
verify_methods = {
@@ -42,6 +46,8 @@ verify_methods = {
'HS384': lambda msg, key: hmac.new(key, msg, hashlib.sha384).digest(),
'HS512': lambda msg, key: hmac.new(key, msg, hashlib.sha512).digest(),
'RS256': lambda msg, key, sig: PKCS1_v1_5.new(key).verify(SHA256.new(msg), sig),
+ 'RS384': lambda msg, key, sig: PKCS1_v1_5.new(key).verify(SHA384.new(msg), sig),
+ 'RS512': lambda msg, key, sig: PKCS1_v1_5.new(key).verify(SHA512.new(msg), sig),
}