summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSybren A. St?vel <sybren@stuvel.eu>2011-07-10 12:43:49 +0200
committerSybren A. St?vel <sybren@stuvel.eu>2011-07-10 12:43:49 +0200
commitb21277340477dc6cce400c1473de74230b0e3b46 (patch)
treeafdc7f7853ebcccaf7b3dd66e2af0362d1d477b2 /tests
parent3fb798eb1e32dedf334fecd56cabda46f5eed4db (diff)
parent4462368ed56477f20353ab777dbe2d669bed8b09 (diff)
downloadrsa-b21277340477dc6cce400c1473de74230b0e3b46.tar.gz
Merged blockpadding branch to default branch
Diffstat (limited to 'tests')
-rw-r--r--tests/test_pkcs1.py48
-rw-r--r--tests/test_strings.py7
2 files changed, 51 insertions, 4 deletions
diff --git a/tests/test_pkcs1.py b/tests/test_pkcs1.py
new file mode 100644
index 0000000..230e7f7
--- /dev/null
+++ b/tests/test_pkcs1.py
@@ -0,0 +1,48 @@
+'''Tests string operations.'''
+
+import struct
+import unittest
+
+import rsa
+from rsa import pkcs1
+
+class BinaryTest(unittest.TestCase):
+
+ def setUp(self):
+ (self.pub, self.priv) = rsa.newkeys(256)
+
+ def test_enc_dec(self):
+
+ message = struct.pack('>IIII', 0, 0, 0, 1)
+ print "\tMessage: %r" % message
+
+ encrypted = pkcs1.encrypt(message, self.pub)
+ print "\tEncrypted: %r" % encrypted
+
+ decrypted = pkcs1.decrypt(encrypted, self.priv)
+ print "\tDecrypted: %r" % decrypted
+
+ 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'
+# print "\tMessage: %r" % message
+#
+# signed = rsa.sign(message, self.priv)
+# print "\tSigned: %r" % signed
+#
+# verified = rsa.verify(signed, self.pub)
+# print "\tVerified: %r" % verified
+#
+# self.assertEqual(message, verified)
diff --git a/tests/test_strings.py b/tests/test_strings.py
index c5803e4..8baa63d 100644
--- a/tests/test_strings.py
+++ b/tests/test_strings.py
@@ -11,8 +11,7 @@ class StringTest(unittest.TestCase):
def test_enc_dec(self):
- # TODO: test with unicode strings and non-ascii chars
- message = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ message = u"Euro=\u20ac ABCDEFGHIJKLMNOPQRSTUVWXYZ".encode('utf-8')
print "\tMessage: %s" % message
encrypted = rsa.encrypt(message, self.pub)
@@ -25,8 +24,8 @@ class StringTest(unittest.TestCase):
def test_sign_verify(self):
- # TODO: test with unicode strings and non-ascii chars
- message = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ message = u"Euro=\u20ac ABCDEFGHIJKLMNOPQRSTUVWXYZ".encode('utf-8')
+ print "\tMessage: %s" % message
signed = rsa.sign(message, self.priv)
print "\tSigned: %s" % signed