in src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py [0:0]
def sign(self, key, data):
# type: (Any, bytes) -> bytes
# narrow down the key type
# https://github.com/aws/aws-dynamodb-encryption-python/issues/66
"""Sign ``data`` using loaded ``key``.
:param key: Loaded key
:param bytes data: Data to sign
:returns: Calculated signature
:rtype: bytes
:raises SigningError: if unable to sign ``data`` with ``key``
"""
if hasattr(key, "public_bytes"):
raise SigningError('"sign" is not supported by public keys')
try:
return key.sign(data, self.padding_type(), self.hash_type())
except Exception:
message = "Unable to sign data"
_LOGGER.exception(message)
raise SigningError(message)