def test_protect_wrappers(self):
     data = b'My Pretty Little Data'
     for strategy in [b'MAC', b'ENCRYPT']:
         keys = self._setup_keys(strategy)
         protected = memcache_crypt.protect_data(keys, data)
         self.assertNotEqual(protected, data)
         if strategy == b'ENCRYPT':
             self.assertNotIn(data, protected)
         unprotected = memcache_crypt.unprotect_data(keys, protected)
         self.assertEqual(data, unprotected)
         self.assertRaises(memcache_crypt.InvalidMacError,
                           memcache_crypt.unprotect_data, keys,
                           protected[:-1])
         self.assertIsNone(memcache_crypt.unprotect_data(keys, None))
 def test_protect_wrappers(self):
     data = b'My Pretty Little Data'
     for strategy in [b'MAC', b'ENCRYPT']:
         keys = self._setup_keys(strategy)
         protected = memcache_crypt.protect_data(keys, data)
         self.assertNotEqual(protected, data)
         if strategy == b'ENCRYPT':
             self.assertNotIn(data, protected)
         unprotected = memcache_crypt.unprotect_data(keys, protected)
         self.assertEqual(data, unprotected)
         self.assertRaises(memcache_crypt.InvalidMacError,
                           memcache_crypt.unprotect_data,
                           keys, protected[:-1])
         self.assertIsNone(memcache_crypt.unprotect_data(keys, None))
Пример #3
0
    def _deserialize(self, data, context):
        try:
            # unprotect_data will return None if raw_cached is None
            return memcache_crypt.unprotect_data(context, data)
        except Exception:
            msg = _LE('Failed to decrypt/verify cache data')
            self._LOG.exception(msg)

        # this should have the same effect as data not
        # found in cache
        return None
Пример #4
0
    def _deserialize(self, data, context):
        try:
            # unprotect_data will return None if raw_cached is None
            return memcache_crypt.unprotect_data(context, data)
        except Exception:
            msg = _LE('Failed to decrypt/verify cache data')
            self._LOG.exception(msg)

        # this should have the same effect as data not
        # found in cache
        return None