diff options
author | Sybren A. St?vel <sybren@stuvel.eu> | 2011-07-10 12:43:49 +0200 |
---|---|---|
committer | Sybren A. St?vel <sybren@stuvel.eu> | 2011-07-10 12:43:49 +0200 |
commit | b21277340477dc6cce400c1473de74230b0e3b46 (patch) | |
tree | afdc7f7853ebcccaf7b3dd66e2af0362d1d477b2 /tests | |
parent | 3fb798eb1e32dedf334fecd56cabda46f5eed4db (diff) | |
parent | 4462368ed56477f20353ab777dbe2d669bed8b09 (diff) | |
download | rsa-b21277340477dc6cce400c1473de74230b0e3b46.tar.gz |
Merged blockpadding branch to default branch
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_pkcs1.py | 48 | ||||
-rw-r--r-- | tests/test_strings.py | 7 |
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 |