Esempio n. 1
0
 def test_ignore_hmac(self):
     expected_data = {"title":"Personal","ainfo":"Wendy Appleseed"}
     source_data = base64.b64decode("b3BkYXRhMDEuAAAAAAAAACCvfWbzwBJIcF501hFPJGgqwKPA+y333FXC2LG9W+M9GGIyd9wBW6DToRRV5964EkpEs4zlwz5FHNt25FfGuC2TPYnVl+zKLH0GFPXVvFYz3XP5COQ3fHhX2SmeHHsviw==")
     source_data = source_data[:-2] + ".."
     with T.assert_raises(ValueError):
         decrypted = crypt_util.opdata1_decrypt_item(source_data, self.OVERVIEW_KEY, self.OVERVIEW_HMAC)
     decrypted = crypt_util.opdata1_decrypt_item(source_data, self.OVERVIEW_KEY, self.OVERVIEW_HMAC, ignore_hmac=True)
     data = simplejson.loads(decrypted)
     T.assert_equal(data, expected_data)
Esempio n. 2
0
 def test_ignore_hmac(self):
     expected_data = {"title": "Personal", "ainfo": "Wendy Appleseed"}
     source_data = base64.b64decode(
         "b3BkYXRhMDEuAAAAAAAAACCvfWbzwBJIcF501hFPJGgqwKPA+y333FXC2LG9W+M9GGIyd9wBW6DToRRV5964EkpEs4zlwz5FHNt25FfGuC2TPYnVl+zKLH0GFPXVvFYz3XP5COQ3fHhX2SmeHHsviw=="
     )
     source_data = source_data[:-2] + b".."
     with assert_raises(ValueError):
         decrypted = crypt_util.opdata1_decrypt_item(
             source_data, self.OVERVIEW_KEY, self.OVERVIEW_HMAC)
     decrypted = crypt_util.opdata1_decrypt_item(source_data,
                                                 self.OVERVIEW_KEY,
                                                 self.OVERVIEW_HMAC,
                                                 ignore_hmac=True)
     data = simplejson.loads(decrypted)
     self.assertEqual(data, expected_data)
Esempio n. 3
0
 def test_item_overview_decryption(self):
     source_data = "b3BkYXRhMDEuAAAAAAAAACCvfWbzwBJIcF501hFPJGgqwKPA+y333FXC2LG9W+M9GGIyd9wBW6DToRRV5964EkpEs4zlwz5FHNt25FfGuC2TPYnVl+zKLH0GFPXVvFYz3XP5COQ3fHhX2SmeHHsviw=="
     expected_data = {"title": "Personal", "ainfo": "Wendy Appleseed"}
     data = simplejson.loads(
         crypt_util.opdata1_decrypt_item(source_data, self.OVERVIEW_KEY,
                                         self.OVERVIEW_HMAC))
     self.assertEqual(data, expected_data)
Esempio n. 4
0
 def test_item_decryption(self):
     source_data = base64.b64decode("R+JJyjeDfDC49x0XwaW5eJkJhG9COpfzFPSo8P2ZDa6ZYeLRzyjeukgdtDj5Yg7F0l2fMCbHKmOtQUXRQxCfsaCcsTeDR10WGMlzQtJoygmdMreG9joX18JPFWtDo/P94sbn8Wd0Q+Sx18Whdo0lRA==")
     item_data = "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"
     item_key, item_hmac = crypt_util.opdata1_decrypt_key(source_data, self.MASTER_KEY, self.MASTER_HMAC)
     plaintext_item = crypt_util.opdata1_decrypt_item(item_data, item_key, item_hmac)
     item_dict = simplejson.loads(plaintext_item)
     T.assert_in('sections', item_dict)
     T.assert_equal(item_dict['sections'][0]['title'], 'set.name')
Esempio n. 5
0
 def test_item_decryption(self):
     source_data = base64.b64decode(
         "R+JJyjeDfDC49x0XwaW5eJkJhG9COpfzFPSo8P2ZDa6ZYeLRzyjeukgdtDj5Yg7F0l2fMCbHKmOtQUXRQxCfsaCcsTeDR10WGMlzQtJoygmdMreG9joX18JPFWtDo/P94sbn8Wd0Q+Sx18Whdo0lRA=="
     )
     item_data = "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"
     item_key, item_hmac = crypt_util.opdata1_decrypt_key(
         source_data, self.MASTER_KEY, self.MASTER_HMAC)
     plaintext_item = crypt_util.opdata1_decrypt_item(
         item_data, item_key, item_hmac)
     item_dict = simplejson.loads(plaintext_item)
     self.assertIn('sections', item_dict)
     self.assertEqual(item_dict['sections'][0]['title'], 'set.name')
Esempio n. 6
0
 def test_item_overview_decryption(self):
     source_data = "b3BkYXRhMDEuAAAAAAAAACCvfWbzwBJIcF501hFPJGgqwKPA+y333FXC2LG9W+M9GGIyd9wBW6DToRRV5964EkpEs4zlwz5FHNt25FfGuC2TPYnVl+zKLH0GFPXVvFYz3XP5COQ3fHhX2SmeHHsviw=="
     expected_data = {"title":"Personal","ainfo":"Wendy Appleseed"}
     data = simplejson.loads(crypt_util.opdata1_decrypt_item(source_data, self.OVERVIEW_KEY, self.OVERVIEW_HMAC))
     T.assert_equal(data, expected_data)
Esempio n. 7
0
 def decrypt_data(self, key_blob, data_blob):
     key, hmac = crypt_util.opdata1_decrypt_key(key_blob, self.master_key,
                                                self.master_hmac)
     return crypt_util.opdata1_decrypt_item(data_blob, key, hmac)
Esempio n. 8
0
 def decrypt_overview(self, blob):
     return crypt_util.opdata1_decrypt_item(blob, self.overview_key,
                                            self.overview_hmac)