diff options
Diffstat (limited to 'src/leap/common')
-rw-r--r-- | src/leap/common/tests/test_crypto.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/leap/common/tests/test_crypto.py b/src/leap/common/tests/test_crypto.py index b704c05..ae7dc71 100644 --- a/src/leap/common/tests/test_crypto.py +++ b/src/leap/common/tests/test_crypto.py @@ -21,6 +21,10 @@ Tests for the crypto submodule. """ +import os +import binascii + + from leap.common.testing.basetest import BaseLeapTest from leap.common import crypto from Crypto import Random @@ -56,9 +60,13 @@ class CryptoTestCase(BaseLeapTest): self.assertTrue(cyphertext is not None) self.assertTrue(cyphertext != '') self.assertTrue(cyphertext != 'data') - iv += 1 + # get a different iv by changing the first byte + rawiv = binascii.a2b_base64(iv) + wrongiv = rawiv + while wrongiv == rawiv: + wrongiv = os.urandom(1) + rawiv[1:] plaintext = crypto.decrypt_sym( - cyphertext, key, iv=iv, + cyphertext, key, iv=binascii.b2a_base64(wrongiv), method=crypto.EncryptionMethods.AES_256_CTR) self.assertNotEqual('data', plaintext) |