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.
Centro de ayuda> Data Encryption Workshop> Referencia de la API> Ejemplos de aplicación> Ejemplo 1: Encriptación o desencriptación de pequeños volúmenes de datos
Actualización más reciente 2022-11-03 GMT+08:00

Ejemplo 1: Encriptación o desencriptación de pequeños volúmenes de datos

Escenario

Cifrar o descifrar datos de no más de 4 KB, como contraseñas, certificados y números de teléfono, utilizando una herramienta en la consola o llamando a una API. Esta sección describe cómo llamar a una API de KMS y usar un CMK para cifrar o descifrar datos.

Proceso:
  1. Cree un CMK en KMS.
  2. Llame a la API de cifrado de datos de KMS para cifrar datos de texto sin formato mediante un CMK.
  3. Implemente certificados de texto cifrado en sus servidores.
  4. Cuando los servidores necesitan usar un certificado, llaman a la API de decrypt-data de KMS para descifrar los datos de texto cifrado y obtener el certificado de texto cifrado.

Operaciones

Las API son llamadas para realizar las siguientes operaciones:

Procedimiento

  1. Cree un CMK.

    • Información de API

      Formato URI: POST /v1.0/{project_id}/kms/create-key

      Para obtener más información, consulte Creación de un CMK.

      Default Master Keys son creadas por servicios integrados con KMS. Los nombres de las claves maestras predeterminadas terminan en /default. No termine sus nombres CMK con /default.

    • Ejemplo de solicitud

      POST: https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/create-key

      Obtenga {endpoint} de Regiones y Puntos de conexión.

      Body:

      {
          "key_alias": "test"
      }
    • Ejemplo de respuesta
      {
          "key_info": {
              "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
              "domain_id": "b168fe00ff56492495a7d22974df2d0b"
          }
      }

  2. Cifrar datos.

    • Información de API

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

      Para obtener más información, consulte Encriptación de datos.

    • Ejemplo de solicitud

      POST https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/encrypt-data

      Obtenga {endpoint} de Regiones y Puntos de conexión.

      Puede utilizar la API para consulta de la lista de CMK para comprobar la información clave, incluido key_id.

      Body:

      {
          "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
          "plain_text": "12345678"
      }
    • Ejemplo de respuesta
      {     "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
           "cipher_text": "AgDoAG7EsEc2OHpQxz4gDFDH54CqwaelpTdEl+RFPjbKn5klPTvOywYIeZX60kPbFsYOpXJwkL32HUM50MY22Eb1fOSpZK7WJpYjx66EWOkJvO+Ey3r1dLdNAjrZrYzQlxRwNS05CaNKoX5rr3NoDnmv+UNobaiS25muLLiqOt6UrStaWow9AUyOHSzl+BrX2Vu0whv74djK+3COO6cXT2CBO6WajTJsOgYdxMfv24KWSKw0TqvHe8XDKASQGKdgfI74hzI1YWJlNjlmLWFlMTAtNDRjZC1iYzg3LTFiZGExZGUzYjdkNwAAAACdcfNpLXwDUPH3023MvZK8RPHe129k6VdNIi3zNb0eFQ==" 
      }

  3. Descifrar los datos.

    • Información de API

      Formato URI: POST /v1.0/{project_id}/kms/decrypt-data

      Para obtener más información, consulte Descifrado de datos.

    • Ejemplo de solicitud

      POST https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/decrypt-data

      Obtenga {endpoint} de Regiones y Puntos de conexión.

      Puede utilizar la API para consultar la lista de CMK para comprobar la información clave, incluido key_id.

      Body:

      {      "cipher_text": "AgDoAG7EsEc2OHpQxz4gDFDH54CqwaelpTdEl+RFPjbKn5klPTvOywYIeZX60kPbFsYOpXJwkL32HUM50MY22Eb1fOSpZK7WJpYjx66EWOkJvO+Ey3r1dLdNAjrZrYzQlxRwNS05CaNKoX5rr3NoDnmv+UNobaiS25muLLiqOt6UrStaWow9AUyOHSzl+BrX2Vu0whv74djK+3COO6cXT2CBO6WajTJsOgYdxMfv24KWSKw0TqvHe8XDKASQGKdgfI74hzI1YWJlNjlmLWFlMTAtNDRjZC1iYzg3LTFiZGExZGUzYjdkNwAAAACdcfNpLXwDUPH3023MvZK8RPHe129k6VdNIi3zNb0eFQ=="
       }
    • Ejemplo de respuesta
      {   
          "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
           "plain_text": "12345678"
       }