def sign()

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)