### 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_
@pytest.fixture(scope="class")
    def user_arn(self, sts_client):
        return sts_client.get_caller_identity()["Arn"]
    @pytest.mark.aws_validated
    def test_create_alias(self, kms_create_alias, kms_create_key, snapshot):
        alias_name = f"{short_uid()}"
        alias_key_id = kms_create_key()["KeyId"]
        with pytest.raises(Exception) as e:
            kms_create_alias(AliasName=alias_name, TargetKeyId=alias_key_id)
        snapshot.match("create_alias", e.value.response)
    @pytest.mark.aws_validated
    def test_create_key(self, kms_client_for_region, kms_create_key, sts_client, snapshot):
        region = "us-east-1"
        kms_client = kms_client_for_region(region)
        account_id = sts_client.get_caller_identity()["Account"]
        key_ids_before = _get_all_key_ids(kms_client)
        key_id = kms_create_key(
            region=region, Description="test key 123", KeyUsage="ENCRYPT_DECRYPT"
        )["KeyId"]
        assert key_id not in key_ids_before
        key_ids_after = _get_all_key_ids(kms_client)
        assert key_id in key_ids_after
        response = kms_client.describe_key(KeyId=key_id)["KeyMetadata"]
        snapshot.match("describe-key", response)
        assert response["KeyId"] == key_id
        assert f":{region}:" in response["Arn"]
        assert f":{account_id}:" in response["Arn"]
    @pytest.mark.aws_validated
    def test_get_key_in_different_region(self, kms_client_for_region, kms_create_key, snapshot):