aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorAlex Stapleton <alexs@prol.etari.at>2014-06-07 21:10:12 +0100
committerAlex Stapleton <alexs@prol.etari.at>2014-06-07 21:10:12 +0100
commitd4ae6c616289439501c0745f052cbeebd82bef70 (patch)
tree96c139b56b2eb6a6f92a1b999024980ee4b5eec1 /cryptography
parente80022489fd0027c7d99ada9e14c810cb5ca5e05 (diff)
parent9412e28901e10bab7a458d5835b4557b67be3fb1 (diff)
downloadcryptography-d4ae6c616289439501c0745f052cbeebd82bef70.tar.gz
cryptography-d4ae6c616289439501c0745f052cbeebd82bef70.tar.bz2
cryptography-d4ae6c616289439501c0745f052cbeebd82bef70.zip
Merge pull request #1102 from reaperhulk/rsa-generate-function
add rsa_generate_private_key function to replace RSAPrivateKey.generate
Diffstat (limited to 'cryptography')
-rw-r--r--cryptography/hazmat/primitives/asymmetric/rsa.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/cryptography/hazmat/primitives/asymmetric/rsa.py b/cryptography/hazmat/primitives/asymmetric/rsa.py
index 481797fe..b256ddcc 100644
--- a/cryptography/hazmat/primitives/asymmetric/rsa.py
+++ b/cryptography/hazmat/primitives/asymmetric/rsa.py
@@ -21,6 +21,17 @@ from cryptography.hazmat.backends.interfaces import RSABackend
from cryptography.hazmat.primitives import interfaces
+def generate_private_key(public_exponent, key_size, backend):
+ if not isinstance(backend, RSABackend):
+ raise UnsupportedAlgorithm(
+ "Backend object does not implement RSABackend.",
+ _Reasons.BACKEND_MISSING_INTERFACE
+ )
+
+ _verify_rsa_parameters(public_exponent, key_size)
+ return backend.generate_rsa_private_key(public_exponent, key_size)
+
+
def _verify_rsa_parameters(public_exponent, key_size):
if public_exponent < 3:
raise ValueError("public_exponent must be >= 3.")