in src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py [0:0]
def verify(self, key, signature, data):
# type: (Any, bytes, bytes) -> None
# narrow down the key type
# https://github.com/aws/aws-dynamodb-encryption-python/issues/66
"""Verify ``signature`` over ``data`` using ``key``.
:param key: Loaded key
:param bytes signature: Signature to verify
:param bytes data: Data over which to verify signature
:raises SignatureVerificationError: if unable to verify ``signature``
"""
if hasattr(key, "private_bytes"):
_key = key.public_key()
else:
_key = key
try:
_key.verify(signature, data, self.padding_type(), self.hash_type())
except Exception:
message = "Unable to verify signature"
_LOGGER.exception(message)
raise SignatureVerificationError(message)