### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When attempting to sign some document using Localstack KMS inside a lambda container (also running on localstack), the localstack KMS listener returns some unknown error.

The KMS key and lambda containers have been created from the same CDK app deploy, and I can see all the resources in the localstack web console.

The test application I'm using to prove this behaviour is available here:
https://github.com/LukaHedt/localstack_kms_test

Instructions to run are in the main Readme, and the `/localstack/Readme.md` file.

`aws-sdk` returns an unknown error, and the localstack docker logs that I receive are available here:
https://pastebin.com/58Z3fXi3

Have done an amount of testing and can confidently claim the following:
- Have tested on multiple machines with the same outcome
- Doesn’t make a difference if I specify an ARN or a KeyID in the signing request
- Downgrading localstack versions either didn’t make a difference, or I couldn’t actually deploy a localstack container with version 0.12.20 or lower.

### Expected Behavior

KMS Sign should return a signature for the given payload.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

Test application demonstrating the current behaviour is available here:

https://github.com/LukaHedt/localstack_kms_test

Full instructions to run are in the `/localstack/Readme.md` file.


### Environment

```markdown
- OS: MacOS Monteray 12.3
- LocalStack: 0.14.0
```


### Anything else?

_No response_
"""
    Decorator which handles the exceptions raised by the serializer. It ensures that all exceptions raised by the public
    methods of the parser are instances of ResponseSerializerError.
    :param func: to wrap in order to add the exception handling
    :return: wrapped function
    """
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        try:
            return func(*args, **kwargs)
        except ResponseSerializerError:
            raise
        except Exception as e:
            raise UnknownSerializerError(
                "An unknown error occurred when trying to serialize the response."
            ) from e
    return wrapper
class ResponseSerializer(abc.ABC):
    """
    The response serializer is responsible for the serialization of a service implementation's result to an actual
    HTTP response (which will be sent to the calling client).
    It is the base class of all serializers and therefore contains the basic logic which is used among all of them.
    """
    DEFAULT_ENCODING = "utf-8"
    # The default timestamp format is ISO8601, but this can be overwritten by subclasses.
    TIMESTAMP_FORMAT = "iso8601"
    @_handle_exceptions
    def serialize_to_response(