From 29d202d869e96e50637f9bb1a96703e169c560f7 Mon Sep 17 00:00:00 2001 From: "Sybren A. St?vel" Date: Mon, 18 Jan 2016 15:39:50 +0100 Subject: Updated key loading example and included it as unit test, fixes bug #31 --- doc/usage.rst | 4 ++-- tests/private.pem | 5 +++++ tests/test_load_save_keys.py | 12 ++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 tests/private.pem 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) -- cgit v1.2.1