aboutsummaryrefslogtreecommitdiff
path: root/tests/test_pem.py
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-02-21 04:16:14 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-02-21 04:16:14 +0000
commitdca2c7c42822c75da0dcda8434eae82fabe27f05 (patch)
tree3eb572c3ebc62886710867852e6df4e336e9bab7 /tests/test_pem.py
parent57b309b360542fd9b6594bf2240896b6698c8ae1 (diff)
parentea37697b04e123324d3fc365a0770b7f21371615 (diff)
downloadrsa-dca2c7c42822c75da0dcda8434eae82fabe27f05.tar.gz
Snap for 5325928 from ea37697b04e123324d3fc365a0770b7f21371615 to qt-release
Change-Id: I7fba457658db94a0c9140583f960f4a6583e4a9a
Diffstat (limited to 'tests/test_pem.py')
-rw-r--r--tests/test_pem.py34
1 files changed, 31 insertions, 3 deletions
diff --git a/tests/test_pem.py b/tests/test_pem.py
index 952ec79..5fb9600 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 is_bytes
from rsa.pem import _markers
import rsa.key
@@ -49,8 +49,8 @@ prime2 = 88103681619592083641803383393198542599284510949756076218404908654323473
class TestMarkers(unittest.TestCase):
def test_values(self):
self.assertEqual(_markers('RSA PRIVATE KEY'),
- (b('-----BEGIN RSA PRIVATE KEY-----'),
- b('-----END RSA PRIVATE KEY-----')))
+ (b'-----BEGIN RSA PRIVATE KEY-----',
+ b'-----END RSA PRIVATE KEY-----'))
class TestBytesAndStrings(unittest.TestCase):
@@ -72,3 +72,31 @@ 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')))
+
+
+class TestByteInput(unittest.TestCase):
+ """Tests that PEM and DER can be loaded from bytes."""
+
+ def test_bytes_public(self):
+ key = rsa.key.PublicKey.load_pkcs1_openssl_pem(public_key_pem.encode('ascii'))
+ 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.encode('ascii'))
+ self.assertTrue(is_bytes(key.save_pkcs1(format='DER')))
+ self.assertTrue(is_bytes(key.save_pkcs1(format='PEM')))