### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

It seems that Sign operation ignores MessageType. 
As per AWS documentation the MessageType can be "DIGEST", that means the digest is already computed and just needs to be signed. 
https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html

Localstack ignores this parameter:
https://github.com/localstack/localstack/blob/5fafd1b68f31f5948ec88b00a85966319c2ce8c3/localstack/services/kms/provider.py#L332

In GoLang the `Sign` interface takes the digest, not the raw message.
`Sign(rand io.Reader, digest []byte, opts crypto.SignerOpts)`
Therefore Sign/Verify operations in Go fail by using localstack.


### Expected Behavior

Use `MessageType` parameter and do not compute the digest when MessageType==`DIGEST`

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

Use Sign/Verify in GoLang

### Environment

```markdown
- OS: ubuntu
- LocalStack: latest
- GoLang 1.19
```


### Anything else?

_No response_
elif ":key/" in some_id:
                key_arn = some_id
                key_id = key_arn.split(":key/")[1]
                parsed_arn = parse_arn(key_arn)
                if parsed_arn["region"] != self._region_name:
                    raise NotFoundException(f"Invalid arn {parsed_arn['region']}")
            else:
                raise ValueError(
                    f"Supplied value of {some_id} is an ARN, but neither of a KMS key nor of a KMS key "
                    f"alias"
                )
        elif some_id.startswith("alias/"):
            alias_name = some_id
        else:
            key_id = some_id
        if alias_name:
            self._create_alias_if_reserved_and_not_exists(alias_name, account_id, region)
            if alias_name not in self.aliases:
                raise NotFoundException(f"Unable to find KMS alias with name {alias_name}")
            key_id = self.aliases[alias_name].metadata["TargetKeyId"]
        
        if not PATTERN_UUID.match(key_id) and not MULTI_REGION_PATTERN.match(key_id):
            raise NotFoundException(f"Invalid keyId {key_id}")
        if key_id not in self.keys:
            if not key_arn:
                key_arn = f"arn:aws:kms:{self._region_name}:{self._account_id}:key/{key_id}"
            raise NotFoundException(f"Key '{key_arn}' does not exist")
        return key_id
kms_stores = AccountRegionBundle("kms", KmsStore)