aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorDavid Reid <dreid@dreid.org>2014-05-06 21:39:15 -0700
committerDavid Reid <dreid@dreid.org>2014-05-06 21:39:15 -0700
commit2d50118e682703a564a01c1c00ad5f414e2eee74 (patch)
treea27dbc6c2c1312927ced1f80162e2e40e05f0c1c /cryptography
parent6994ff0da7076ab161c91bfa5df09290faf1cec4 (diff)
downloadcryptography-2d50118e682703a564a01c1c00ad5f414e2eee74.tar.gz
cryptography-2d50118e682703a564a01c1c00ad5f414e2eee74.tar.bz2
cryptography-2d50118e682703a564a01c1c00ad5f414e2eee74.zip
Check types.
Diffstat (limited to 'cryptography')
-rw-r--r--cryptography/hazmat/primitives/asymmetric/rsa.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/cryptography/hazmat/primitives/asymmetric/rsa.py b/cryptography/hazmat/primitives/asymmetric/rsa.py
index 18fcac26..024f1103 100644
--- a/cryptography/hazmat/primitives/asymmetric/rsa.py
+++ b/cryptography/hazmat/primitives/asymmetric/rsa.py
@@ -262,6 +262,40 @@ class RSAPrivateKey(object):
class RSAPrivateNumbers(object):
def __init__(self, p, q, d, dmp1, dmq1, iqmp,
public_numbers):
+ if not isinstance(p, six.integer_types):
+ raise TypeError(
+ "RSAPrivateNumbers' p argument must be an integer."
+ )
+ if not isinstance(q, six.integer_types):
+ raise TypeError(
+ "RSAPrivateNumbers' q argument must be an integer."
+ )
+
+ if not isinstance(d, six.integer_types):
+ raise TypeError(
+ "RSAPrivateNumbers' d argument must be an integer."
+ )
+
+ if not isinstance(dmp1, six.integer_types):
+ raise TypeError(
+ "RSAPrivateNumbers' dmp1 argument must be an integer."
+ )
+ if not isinstance(dmq1, six.integer_types):
+ raise TypeError(
+ "RSAPrivateNumbers' dmq1 argument must be an integer."
+ )
+
+ if not isinstance(iqmp, six.integer_types):
+ raise TypeError(
+ "RSAPrivateNumbers' iqmp argument must be an integer."
+ )
+
+ if not isinstance(public_numbers, RSAPublicNumbers):
+ raise TypeError(
+ "RSAPrivateNumbers' public_numbers must be an RSAPublicNumbers"
+ " instance."
+ )
+
self._p = p
self._q = q
self._d = d
@@ -301,6 +335,12 @@ class RSAPrivateNumbers(object):
class RSAPublicNumbers(object):
def __init__(self, e, n):
+ if (
+ not isinstance(e, six.integer_types) or
+ not isinstance(n, six.integer_types)
+ ):
+ raise TypeError("RSAPrivateNumbers arguments must be integers.")
+
self._e = e
self._n = n