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)
/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)
/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