def value_decode(self, val): log.debug("Got value to decode: %s" % val) encoded_data = val val = base64.b64decode(val.strip('"')) hashlength = get_hash_length(self.hashalg) / 4 sig, data = val[:hashlength], val[hashlength:] if verify_data(data, sig, self.sig_key, self.hashalg): return self.serializer.loads(data), encoded_data
def test_authentication_bad_key(authed): val, sig = authed with pytest.raises(CryptoError): verify_data(val, sig, b'0' + test_sig_key[1:], hashlib.sha256)
def test_authentication_bad_tag(authed): val, _ = authed with pytest.raises(CryptoError): verify_data(val, '0' * 32, test_sig_key, hashlib.sha256)
def test_authentication_wrong_hashalg(authed): val, sig = authed with pytest.raises(CryptoError): verify_data(val, sig, test_sig_key, hashlib.md5)
def test_authentication(authed): val, sig = authed assert verify_data(val, sig, test_sig_key, hashlib.sha256)