Ejemplos de JSON

Ejemplo de cuerpo de solicitud (JSON Body)

Ambos endpoints (/encrypt y /decrypt) usarán una estructura similar para enviar y recibir datos.

1. Para la Operación Encriptar (/files/encrypt)

El body debe enviar los datos sin cifrar. Para datos binarios (como un archivo), a menudo se utiliza una representación en Base64 para encapsularlos de forma segura dentro del JSON.

Campo

Tipo

Descripción

Ejemplo de Valor

data

string

Los datos sin cifrar que se van a proteger. Si es un archivo, debe estar codificado en Base64.

"VGhpcyBpcyBhIHRlc3QgZGF0YQo=" (Esto es "This is a test data" en Base64)

key_id

string

Identificador de la clave (alias) que la API debe usar para realizar el cifrado (necesario para la gestión de claves).

"USER_SECRET_KEY_123"

metadata

object

(Opcional) Metadatos adicionales para identificar el archivo o su contenido.

{"file_name": "informe_Q3.pdf"}

Ejemplo JSON:

{
  "data": "VGhpcyBpcyBhIHRlc3QgZGF0YQo=",
  "key_id": "USER_SECRET_KEY_123",
  "metadata": {
    "file_name": "informe_Q3.pdf",
    "user_id": "richard.abanto"
  }
}

2. Para la Operación Desencriptar (/files/decrypt)

El body debe enviar los datos cifrados junto con la información auxiliar (como el Initialization Vector o IV y la Authentication Tag o TAG, si no están incrustados en los datos) para que AES-256-GCM pueda descifrarlos correctamente.

Campo

Tipo

Descripción

Ejemplo de Valor

ciphertext

string

Los datos cifrados que la API debe descifrar (codificados en Base64).

"Y3lwaGVydGV4dERhdGFoYmNjZGVmZ2hpbms="

key_id

string

Identificador de la clave (alias) utilizada originalmente para el cifrado.

"USER_SECRET_KEY_123"

iv

string

Initialization Vector (IV) usado durante el cifrado (codificado en Base64). Necesario para GCM.

"SXZEYXRhMTIzNDU2Nzg5MAo="

tag

string

Authentication Tag (TAG) para verificar la integridad del mensaje (codificado en Base64). Necesario para GCM.

"VGFnRGF0YUFESzEyMzQ1Ngo="

Ejemplo JSON:

Última actualización