summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@stuvel.eu>2016-03-17 14:34:22 +0100
committerSybren A. Stüvel <sybren@stuvel.eu>2016-03-17 15:16:23 +0100
commitfedcaa1f94c637e5fe007f8799525d4bb13e66f9 (patch)
tree1d98ec645595a4e263d932cbe8ee8013bff08015 /tests
parent83a81107342ba414064703e5919978782d6bee01 (diff)
downloadrsa-git-fedcaa1f94c637e5fe007f8799525d4bb13e66f9.tar.gz
Ensuring that PEM output is always in bytes.
This may break some applications. However, it does make the RSA library easier to use on different Python versions.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_pem.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/test_pem.py b/tests/test_pem.py
index 952ec79..61a66fc 100644
--- a/tests/test_pem.py
+++ b/tests/test_pem.py
@@ -17,7 +17,7 @@
import unittest
-from rsa._compat import b
+from rsa._compat import b, is_bytes
from rsa.pem import _markers
import rsa.key
@@ -72,3 +72,17 @@ class TestBytesAndStrings(unittest.TestCase):
key = rsa.key.PrivateKey.load_pkcs1(private_key_pem.encode('ascii'))
self.assertEqual(prime1, key.p)
self.assertEqual(prime2, key.q)
+
+
+class TestByteOutput(unittest.TestCase):
+ """Tests that PEM and DER are returned as bytes."""
+
+ def test_bytes_public(self):
+ key = rsa.key.PublicKey.load_pkcs1_openssl_pem(public_key_pem)
+ self.assertTrue(is_bytes(key.save_pkcs1(format='DER')))
+ self.assertTrue(is_bytes(key.save_pkcs1(format='PEM')))
+
+ def test_bytes_private(self):
+ key = rsa.key.PrivateKey.load_pkcs1(private_key_pem)
+ self.assertTrue(is_bytes(key.save_pkcs1(format='DER')))
+ self.assertTrue(is_bytes(key.save_pkcs1(format='PEM')))