summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSybren A. St?vel <sybren@stuvel.eu>2016-01-18 15:39:50 +0100
committerSybren A. St?vel <sybren@stuvel.eu>2016-01-18 15:39:50 +0100
commit29d202d869e96e50637f9bb1a96703e169c560f7 (patch)
tree9697ae328aace24aaa2d34ac1a55ea77ef3320e9
parent533aba5392581833f6cff91944db5afbcba67833 (diff)
downloadrsa-29d202d869e96e50637f9bb1a96703e169c560f7.tar.gz
Updated key loading example and included it as unit test, fixes bug #31
-rw-r--r--doc/usage.rst4
-rw-r--r--tests/private.pem5
-rw-r--r--tests/test_load_save_keys.py12
3 files changed, 19 insertions, 2 deletions
diff --git a/doc/usage.rst b/doc/usage.rst
index b2a788d..363788f 100644
--- a/doc/usage.rst
+++ b/doc/usage.rst
@@ -36,9 +36,9 @@ Alternatively you can use :py:meth:`rsa.PrivateKey.load_pkcs1` and
:py:meth:`rsa.PublicKey.load_pkcs1` to load keys from a file:
>>> import rsa
- >>> with open('private.pem') as privatefile:
+ >>> with open('private.pem', mode='rb') as privatefile:
... keydata = privatefile.read()
- >>> pubkey = rsa.PrivateKey.load_pkcs1(keydata)
+ >>> privkey = rsa.PrivateKey.load_pkcs1(keydata)
Time to generate a key
diff --git a/tests/private.pem b/tests/private.pem
new file mode 100644
index 0000000..1a17279
--- /dev/null
+++ b/tests/private.pem
@@ -0,0 +1,5 @@
+-----BEGIN RSA PRIVATE KEY-----
+MGECAQACEQCvWovlXBvfEeOMZPEleO9NAgMBAAECEA20Y+6fDkaWvC24horBzQEC
+CQDdS2PAL/tK4QIJAMratZuNnT3tAghs7iNYA0ZrgQIIQQ5nU93U4fkCCHR55el6
+/K+2
+-----END RSA PRIVATE KEY-----
diff --git a/tests/test_load_save_keys.py b/tests/test_load_save_keys.py
index 64f75de..6d87cf9 100644
--- a/tests/test_load_save_keys.py
+++ b/tests/test_load_save_keys.py
@@ -18,6 +18,8 @@
import base64
import unittest
+import os.path
+
from rsa._compat import b
import rsa.key
@@ -141,3 +143,13 @@ class PemTest(unittest.TestCase):
self.assertEqual(CLEAN_PUBLIC_PEM, pem)
+ def test_load_from_disk(self):
+ """Test loading a PEM file from disk."""
+
+ fname = os.path.join(os.path.dirname(__file__), 'private.pem')
+ with open(fname, mode='rb') as privatefile:
+ keydata = privatefile.read()
+ privkey = rsa.key.PrivateKey.load_pkcs1(keydata)
+
+ self.assertEqual(15945948582725241569, privkey.p)
+ self.assertEqual(14617195220284816877, privkey.q)