summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSybren A. St?vel <sybren@stuvel.eu>2011-07-10 12:40:46 +0200
committerSybren A. St?vel <sybren@stuvel.eu>2011-07-10 12:40:46 +0200
commit4462368ed56477f20353ab777dbe2d669bed8b09 (patch)
treeafdc7f7853ebcccaf7b3dd66e2af0362d1d477b2 /tests
parent4228ef2b63adf04e265dc76cb83981f8259af3fa (diff)
downloadrsa-4462368ed56477f20353ab777dbe2d669bed8b09.tar.gz
Added unittest for PKCS#1 decoding failures
Diffstat (limited to 'tests')
-rw-r--r--tests/test_pkcs1.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/test_pkcs1.py b/tests/test_pkcs1.py
index 9d3d9ec..230e7f7 100644
--- a/tests/test_pkcs1.py
+++ b/tests/test_pkcs1.py
@@ -13,7 +13,7 @@ class BinaryTest(unittest.TestCase):
def test_enc_dec(self):
- message = struct.pack('>IIII', 0, 0, 0, 1) + 5 * '\x00'
+ message = struct.pack('>IIII', 0, 0, 0, 1)
print "\tMessage: %r" % message
encrypted = pkcs1.encrypt(message, self.pub)
@@ -24,6 +24,16 @@ class BinaryTest(unittest.TestCase):
self.assertEqual(message, decrypted)
+ def test_decoding_failure(self):
+
+ message = struct.pack('>IIII', 0, 0, 0, 1)
+ encrypted = pkcs1.encrypt(message, self.pub)
+
+ # Alter the encrypted stream
+ encrypted = encrypted[:5] + chr(ord(encrypted[5]) + 1) + encrypted[6:]
+
+ self.assertRaises(ValueError, pkcs1.decrypt, encrypted, self.priv)
+
# def test_sign_verify(self):
#
# message = struct.pack('>IIII', 0, 0, 0, 1) + 20 * '\x00'