Ejemplo n.º 1
0
 def test_edge_case_invalid_password_valid_padding_invalid_unicode(self):
     with self.assertRaises(InvalidPasswordError):
         aes_decrypt(
             'notbubblegum',
             'gy3/mNq3FWB/xAXirOQnlAqQLuvhLGXZaeGBUIg1w6yY4PDLDT7BU83XOfBsJol'
             'uWU5zEU4+upOFH35HDqyV8EMQhcKSufN9WkT1izEbFtweBUTK8nTSkV7NBppE1Jaz'
         )
Ejemplo n.º 2
0
 def test_encrypt_iv_d(self, _):
     self.assertEqual(
         aes_encrypt(self.password, self.message),
         'ZmZmZmZmZmZmZmZmZmZmZjlrKptoKD+MFwDxcg3XtCD9qz8UWhEhq/TVJT5+Mtp2a8sE'
         'CaO6WQj7fYsWGu2Hvbc0qYqxdN0HeTsiO+cZRo3eJISgr3F+rXFYi5oSBlD2')
     self.assertTupleEqual(aes_decrypt(self.password, self.expected),
                           (self.message, b'f' * 16))
Ejemplo n.º 3
0
 def _decrypt_private_key_string(self,
                                 password: str) -> Optional[PrivateKey]:
     if not self.private_key_string:
         return None
     private_key_string, self.init_vectors['private_key'] = aes_decrypt(
         password, self.private_key_string)
     if not private_key_string:
         return None
     return from_extended_key_string(self.ledger, private_key_string)
Ejemplo n.º 4
0
 def _decrypt_seed(self, password: str) -> str:
     if not self.seed:
         return ""
     seed, self.init_vectors['seed'] = aes_decrypt(password, self.seed)
     if not seed:
         return ""
     try:
         Mnemonic().mnemonic_decode(seed)
     except IndexError:
         # failed to decode the seed, this either means it decrypted and is invalid
         # or that we hit an edge case where an incorrect password gave valid padding
         raise ValueError("Failed to decode seed.")
     return seed
Ejemplo n.º 5
0
 def test_decrypt_error(self):
     with self.assertRaises(InvalidPasswordError):
         aes_decrypt('notbubblegum', aes_encrypt('bubblegum', self.message))
Ejemplo n.º 6
0
 def test_encrypt_decrypt(self):
     self.assertEqual(
         aes_decrypt('bubblegum', aes_encrypt('bubblegum', self.message))[0],
         self.message
     )