Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-03 GMT+08:00

Encriptación de datos

Función

Esta API le permite cifrar datos usando un CMK especificado.

Restricciones

  • Cuando utilice un CMK asimétrico para cifrar datos, registre el ID CMK seleccionado y el algoritmo de encriptación. Al descifrar datos, debe proporcionar el mismo identificador CMK y algoritmo de encriptación. Si el CMK especificado y el algoritmo de encriptación no coinciden con el valor utilizado para cifrar los datos, la operación de desencriptación fallará.
  • Cuando se usa un CMK simétrico para descifrar datos, no hay necesidad de proporcionar el ID CMK y el algoritmo de encriptación. KMS almacenará la información en el texto cifrado. KMS no puede almacenar metadatos en el texto cifrado generado con una clave asimétrica. El formato estándar del texto cifrado de clave asimétrica no incluye campos configurables.

URI

POST /v1.0/{project_id}/kms/encrypt-data

Tabla 1 Parámetros de path

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Token de usuario. El token se puede obtener llamando a la API de IAM (valor de X-Subject-Token en el encabezado de respuesta).

Tabla 3 Parámetros de body de solicitud

Parámetro

Obligatorio

Tipo

Descripción

key_id

String

CMK ID. 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

encryption_context

No

Object

Pares clave-valor con una longitud máxima de 8,192 caracteres. Este parámetro se utiliza para registrar información de contexto de recursos, excluyendo información confidencial, para garantizar la integridad de los datos. Si este parámetro se especifica durante el encriptación, también se requiere para el desencriptación. Ejemplo: {"Key1":"Value1"",Key2":"Value2"}

plain_text

Yes

String

Datos de texto sin formato. Puede ser de 1 a 4,096 bytes y debe coincidir con la expresión regular ^.{1,4096}$. Después de que se convierte en una matriz de bytes, su longitud debe ser de 1 a 4096 bytes.

encryption_algorithm

No

String

Algoritmo de encriptación de datos,Solo usar CMK asimétricos necesitan especificar este parámetro, el valor predeterminado es "SYMMETRIC_DEFAULT". Puede ser:

  • SYMMETRIC_DEFAULT
  • RSAES_OAEP_SHA_256
  • RSAES_OAEP_SHA_1

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

Tabla 4 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

key_id

String

CMK ID.

cipher_text

String

Ciphertext DEK en formato hexadecimal. Dos caracteres representan 1 byte.

Código de estado: 400

Tabla 5 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error

Object

Mensaje de error.

Tabla 6 ErrorDetail

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Información de error.

Código de estado: 403

Tabla 7 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error

Object

Mensaje de error.

Tabla 8 ErrorDetail

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Información de error.

Código de estado: 404

Tabla 9 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error

Object

Mensaje de error.

Tabla 10 ErrorDetail

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",
  "plain_text" : "hello world"
}

Ejemplo de respuestas

Código de estado: 200

El procesamiento de la solicitud se ha realizado correctamente.

{
  "key_id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
  "cipher_text" : "AgDoAG7EsEc2OHpQxz4gDFDH54CqwaelpTdEl+RFXXX..."
}

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.