mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
60
python/rsa/tests/test_bigfile.py
Normal file
60
python/rsa/tests/test_bigfile.py
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
'''Tests block operations.'''
|
||||
from rsa._compat import b
|
||||
|
||||
try:
|
||||
from StringIO import StringIO as BytesIO
|
||||
except ImportError:
|
||||
from io import BytesIO
|
||||
import unittest2
|
||||
|
||||
import rsa
|
||||
from rsa import bigfile, varblock, pkcs1
|
||||
|
||||
class BigfileTest(unittest2.TestCase):
|
||||
|
||||
def test_encrypt_decrypt_bigfile(self):
|
||||
|
||||
# Expected block size + 11 bytes padding
|
||||
pub_key, priv_key = rsa.newkeys((6 + 11) * 8)
|
||||
|
||||
# Encrypt the file
|
||||
message = b('123456Sybren')
|
||||
infile = BytesIO(message)
|
||||
outfile = BytesIO()
|
||||
|
||||
bigfile.encrypt_bigfile(infile, outfile, pub_key)
|
||||
|
||||
# Test
|
||||
crypto = outfile.getvalue()
|
||||
|
||||
cryptfile = BytesIO(crypto)
|
||||
clearfile = BytesIO()
|
||||
|
||||
bigfile.decrypt_bigfile(cryptfile, clearfile, priv_key)
|
||||
self.assertEquals(clearfile.getvalue(), message)
|
||||
|
||||
# We have 2x6 bytes in the message, so that should result in two
|
||||
# bigfile.
|
||||
cryptfile.seek(0)
|
||||
varblocks = list(varblock.yield_varblocks(cryptfile))
|
||||
self.assertEqual(2, len(varblocks))
|
||||
|
||||
|
||||
def test_sign_verify_bigfile(self):
|
||||
|
||||
# Large enough to store MD5-sum and ASN.1 code for MD5
|
||||
pub_key, priv_key = rsa.newkeys((34 + 11) * 8)
|
||||
|
||||
# Sign the file
|
||||
msgfile = BytesIO(b('123456Sybren'))
|
||||
signature = pkcs1.sign(msgfile, priv_key, 'MD5')
|
||||
|
||||
# Check the signature
|
||||
msgfile.seek(0)
|
||||
self.assertTrue(pkcs1.verify(msgfile, signature, pub_key))
|
||||
|
||||
# Alter the message, re-check
|
||||
msgfile = BytesIO(b('123456sybren'))
|
||||
self.assertRaises(pkcs1.VerificationError,
|
||||
pkcs1.verify, msgfile, signature, pub_key)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue