Comprobación de la firma
Función
Esta API le permite verificar una firma digital que fue generada por la operación de firma.
Restricciones
- Solo admite claves asimétricas con key_usage de SIGN_VERIFY para verificar la operación.
URI
POST /v1.0/{project_id}/kms/verify
| Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| project_id | Sí | String | ID del proyecto. |
Parámetros de solicitud
| Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| X-Auth-Token | Sí | String | Token de usuario. El token se puede obtener llamando a la API IAM (valor de X-Subject-Token en el encabezado de respuesta). |
| Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| key_id | Sí | String | ID de clave. Debe tener 36 bytes y coincidir con la expresión regular ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$. Ejemplo: 0d0466b0-e727-4d9c-b35d-f84bb474a37f |
| message | Sí | String | Especifica el mensaje o resumen de mensaje que se va a firmar. Los mensajes pueden ser 0-4096 bytes. Para firmar un mensaje más grande, proporcione el resumen del mensaje.Uso de objeto de datos binarios codificados en Base64. |
| signature | Yes | String | Firma que generó la operación Firmar. |
| signing_algorithm | Sí | String | Especifica el algoritmo de firma que se utilizará al firmar el mensaje. Elija un algoritmo que sea compatible con el tipo de CMK asimétrico especificado. Puede ser:
|
| message_type | No | String | Tipo de mensaje. El valor por defecto es "DIGEST" Puede ser:
|
| sequence | No | String | Número de secuencia de 36 bytes de un mensaje de solicitud. Ejemplo: 919c82d4-8046-4722-9094-35c3c6524cff |
Parámetros de respuesta
Código de estado: 200
| Parámetro | Tipo | Descripción |
|---|---|---|
| key_id | String | CMK ID. |
| signature_vaild | Boolean | Valor booleano que indica si se ha verificado la firma. |
Código de estado: 400
| Parámetro | Tipo | Descripción |
|---|---|---|
| error | Object | Mensaje de error. |
| Parámetro | Tipo | Descripción |
|---|---|---|
| error_code | String | Código de error. |
| error_msg | String | Información de error. |
Código de estado: 403
| Parámetro | Tipo | Descripción |
|---|---|---|
| error | Object | Mensaje de error. |
| Parámetro | Tipo | Descripción |
|---|---|---|
| error_code | String | Código de error. |
| error_msg | String | Información de error. |
Código de estado: 404
| Parámetro | Tipo | Descripción |
|---|---|---|
| error | Object | Mensaje de error. |
| Parámetro | Tipo | Descripción |
|---|---|---|
| error_code | String | Código de error. |
| error_msg | String | Información de error. |
Solicitudes de ejemplo
{
"key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
"signing_algorithm" : "RSASSA_PKCS1_V1_5_SHA_256",
"signature" : "jFUqQESGBc0j6k9BozzrP9YL4qk8/W9DZRvK6XXX...",
"message" : "MmFiZWE0ZjI3ZGIxYTkzY2RmYmEzM2YwMTA1YmJjYw=="
} Ejemplo de respuestas
Código de estado: 200
El procesamiento de la solicitud se ha realizado correctamente.
{
"key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
"signature_valid" : "true"
} Código de estado: 400
Parámetros de solicitud no válidos.
{
"error" : {
"error_code" : "KMS.XXX",
"error_msg" : "XXX"
}
} Código de estado: 403
Error de autenticación.
{
"error" : {
"error_code" : "KMS.XXX",
"error_msg" : "XXX"
}
} Código de estado: 404
La página solicitada no existe o no se encuentra.
{
"error" : {
"error_code" : "KMS.XXX",
"error_msg" : "XXX"
}
} Códigos de estado
| Código de estado | Descripción |
|---|---|
| 200 | El procesamiento de la solicitud se ha realizado correctamente. |
| 400 | Parámetros de solicitud no válidos. |
| 403 | Error de autenticación. |
| 404 | La página solicitada no existe o no se encuentra. |
Códigos de error
Consulte Códigos de error.