As reported in https://github.com/localstack/localstack/issues/6659#issuecomment-1630932643_, `HeadObject` does not respect `ChecksumMode`. 


```shell
at 09:31:57 ➜ AWS_DEFAULT_REGION=us-west-1 aws --endpoint-url=http://localhost:4566 s3api create-bucket --bucket test-bucket --create-bucket-configuration LocationConstraint=us-west-1
{
    "Location": "http://test-bucket.s3.localhost.localstack.cloud:4566/"
}

at 09:32:13 ➜ aws --endpoint-url=http://localhost:4566 s3api put-object --bucket test-bucket --key file.json --body README.md --checksum-algorithm SHA256
{
    "ETag": "\"4bb2f1387449d690bff6336ea255909c\"",
    "ChecksumSHA256": "bzOikXXMUqRTCrpVq7Pt7LjJ0fjR3ccUfM19S/gnfqA="
}

# SHA256 missing here
at 09:32:20 ➜ aws --endpoint-url=http://localhost:4566 s3api head-object --bucket test-bucket --key file.json --checksum-mode Enabled
{
    "AcceptRanges": "bytes",
    "LastModified": "2023-07-11T13:32:15+00:00",
    "ContentLength": 1455,
    "ETag": "\"4bb2f1387449d690bff6336ea255909c\"",
    "ContentType": "binary/octet-stream",
    "Metadata": {}
}
```

Note the equivalent response from S3 actual includes the SHA256 value

```shell
at 10:21:23 ➜ aws s3api head-object --bucket test-bucket --key file.json --checksum-mode Enabled
{
    "AcceptRanges": "bytes",
    "Expiration": "expiry-date=\"Thu, 13 Jul 2023 00:00:00 GMT\", rule-id=\"all\"",
    "LastModified": "2023-07-11T14:21:09+00:00",
    "ContentLength": 1956,
    "ChecksumSHA256": "bj7fqCqtaF95M1ULwQRDJuHbL/Xd9NVMH6pua9OINcc=",
    "ETag": "\"f4be535d45019a4408dd5369986919f8\"",
    "ContentEncoding": "",
    "ContentType": "binary/octet-stream",
   
    "Metadata": {},
    
}
```

_Originally posted by @bdurrani in https://github.com/localstack/localstack/issues/6659#issuecomment-1630932643_
            
_create_invalid_argument_exc,
    capitalize_header_name_from_snake_case,
    extract_bucket_key_version_id_from_copy_source,
    get_bucket_from_moto,
    get_header_name,
    get_key_from_moto_bucket,
    get_lifecycle_rule_from_object,
    get_object_checksum_for_algorithm,
    is_bucket_name_valid,
    is_canned_acl_bucket_valid,
    is_key_expired,
    is_valid_canonical_id,
    serialize_expiration_header,
    validate_kms_key_id,
    verify_checksum,
)
from localstack.services.s3.website_hosting import register_website_hosting_routes
from localstack.utils.aws import arns, aws_stack
from localstack.utils.aws.arns import s3_bucket_name
from localstack.utils.collections import get_safe
from localstack.utils.patch import patch
from localstack.utils.strings import short_uid
from localstack.utils.urls import localstack_host
LOG = logging.getLogger(__name__)
os.environ[
    "MOTO_S3_CUSTOM_ENDPOINTS"
] = "s3.localhost.localstack.cloud:4566,s3.localhost.localstack.cloud"
MOTO_CANONICAL_USER_ID = "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
S3_MAX_FILE_SIZE_BYTES = 512 * 1024
class MalformedXML(CommonServiceException):