diff options
author | Sybren A. Stüvel <sybren@stuvel.eu> | 2016-01-22 15:41:40 +0100 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2016-01-22 15:41:40 +0100 |
commit | 4bc9733b78cd115a742b9486ab11ccbdcb9ca001 (patch) | |
tree | 53df23ee4826dcfa00cc835cd437df6b8acb4d2f /tests | |
parent | f1c55540438fb88dbbc30c9c3bf7c4d82f5d59a2 (diff) | |
download | rsa-git-4bc9733b78cd115a742b9486ab11ccbdcb9ca001.tar.gz |
Fix #12 Allow pickling of keys.
Pickling is now possible, with the added note that one should never
unpickle from an untrusted or unauthenticated source.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_load_save_keys.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_load_save_keys.py b/tests/test_load_save_keys.py index 8fc3b22..5ae1596 100644 --- a/tests/test_load_save_keys.py +++ b/tests/test_load_save_keys.py @@ -19,6 +19,7 @@ import base64 import unittest import os.path +import pickle from rsa._compat import b @@ -152,3 +153,22 @@ class PemTest(unittest.TestCase): self.assertEqual(15945948582725241569, privkey.p) self.assertEqual(14617195220284816877, privkey.q) + + +class PickleTest(unittest.TestCase): + """Test saving and loading keys by pickling.""" + + def test_private_key(self): + pk = rsa.key.PrivateKey(3727264081, 65537, 3349121513, 65063, 57287) + + pickled = pickle.dumps(pk) + unpickled = pickle.loads(pickled) + self.assertEqual(pk, unpickled) + + def test_public_key(self): + pk = rsa.key.PublicKey(3727264081, 65537) + + pickled = pickle.dumps(pk) + unpickled = pickle.loads(pickled) + + self.assertEqual(pk, unpickled) |