---
title: "POST /v1/{+name}:asymmetricSign"
method: POST
path: "/v1/{+name}:asymmetricSign"
tags: ["projects"]
---

# POST /v1/{+name}:asymmetricSign

`POST /v1/{+name}:asymmetricSign`

Signs data using a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_SIGN, producing a signature that can be verified with the public key retrieved from GetPublicKey.

## Path parameters

- `name` string, required

## Request body

- AsymmetricSignRequest — Request message for KeyManagementService.AsymmetricSign.
  - `digestCrc32c` string, int64 — Optional. An optional CRC32C checksum of the AsymmetricSignRequest.digest. If specified, KeyManagementService will verify the integrity of the received AsymmetricSignRequest.digest using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(AsymmetricSignRequest.digest) is equal to AsymmetricSignRequest.digest_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.
  - `digest` Digest — A Digest holds a cryptographic message digest.
    - `sha512` string, byte — A message digest produced with the SHA-512 algorithm.
    - `sha256` string, byte — A message digest produced with the SHA-256 algorithm.
    - `sha384` string, byte — A message digest produced with the SHA-384 algorithm.
    - `externalMu` string, byte — A message digest produced with SHAKE-256, to be used with ML-DSA external-μ algorithms only. See "message representative" note in section 6.2, algorithm 7 of the FIPS-204 standard: https://doi.org/10.6028/nist.fips.204
  - `dataCrc32c` string, int64 — Optional. An optional CRC32C checksum of the AsymmetricSignRequest.data. If specified, KeyManagementService will verify the integrity of the received AsymmetricSignRequest.data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(AsymmetricSignRequest.data) is equal to AsymmetricSignRequest.data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.
  - `data` string, byte — Optional. The data to sign. It can't be supplied if AsymmetricSignRequest.digest is supplied.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/cloudkms.md) · [All operations](https://skmtc.net/google/apis/cloudkms/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/cloudkms/versions/576b283e53dd/schema)
