Operaciones con el API
Este documento describe los endpoints y la configuración de encabezados necesarios para utilizar los servicios de cifrado y descifrado de AES-256-GCM.
En este documento, encontrará un manual completo que cubre Endpoints, Headers, Request Body y Responses de KeyFortress API Gateway AES-256-GCM.
Endpoints Disponibles
La API expone dos operaciones principales a través de métodos POST.
Operación
Endpoint
Método
Descripción
Encriptar
https://gateway-aes256gcm.keyfortress.com/test/files/encrypt
POST
Cifra los datos o archivos proporcionados.
Desencriptar
https://gateway-aes256gcm.keyfortress.com/test/files/decrypt
POST
Descifra los datos o archicos cifrados.
Configuración de HEADERS
Debe incluir los siguientes encabezados en todas las solicitudes para la autenticación y especificación de la operación.
Header
Ejemplo de Valor
Descripción
company_id
10458341988
Identificador único de tu empresa.
username
usuario.id
Nombre de usuario para la auditoría de la operación.
operation_mode
(Ver opciones)
Define el modo de operación deseado para el proceso de encriptación.
Modos de Operación (operation_mode)
operation_mode)El header operation_mode debe contener uno de los siguientes valores:
E: Encrypt only (Solo Encriptar). El servicio solo devolverá los datos cifrados.S: Encrypt and Storage (Encriptar y Almacenamiento). El servicio cifrará los datos y los almacenará internamente.N: Notificación. Modo para fines de notificación o testing específico (requiere documentación adicional de la API para su uso completo).
Ejemplos de Respuesta (Response)
1. Respuesta de la Operación Encriptar (/files/encrypt)
/files/encrypt)Campo
Tipo
Descripción
Ejemplo de Valor
status
string
Indica el resultado de la operación.
"200"
file_encrypted
string
Datos cifrados resultantes (en Base64).
"Y3lwaGVydGV4dERhdGFoYmNjZGVmZ2hpbms="
operation_mode
string
El modo de operación que se ejecutó (replicado del Header).
"E" (Encrypt only)
timestamp
number
Hora en que se completó la operación (epoch time).
1702584000
Ejemplo JSON de Éxito (Encrypt):
"statusCode": 200,
"body": {
"uuid": "jhj23424-n3h4-fsfdr4wr4f34f3ff43-989090009",
"client_id": "1234567890",
"file_name": "file_name_test_12.pdf.encrypted",
"file_encrypted": "L89IQ3qowPF8ESdiGtPeUCu7OBAS2Vh4NpB/+8NKCW1QManAfSXxVNG69E1OBR2Dy6JslXOEV4G4WE/DYYIe7J+vHiWnnDvlzxjqg+ZlYHwpD+0Xco/+nVysUEnD7izaheEcRcN8w5017XZh4d9tJRWMykExC1CugK73wuYowMLkvoZHu8zs+j/KEzd3SLFC97lDDWIXb09TW/nwLtBe3Tk3sKTHIhjsVO5miNwvEOzWrXkvr4Qn7S6Gx5M/X4Z1xgXUCq4vS8O22K7sjMDYsjBHmml" ...
2. Respuesta de la Operación Desencriptar (/files/decrypt)
/files/decrypt)Una respuesta exitosa de descifrado solo debe devolver los datos en su formato original (descifrado).
Campo
Tipo
Descripción
Ejemplo de Valor
status
string
Indica el resultado de la operación.
"200"
file_decrypted
string
Los datos descifrados (en Base64).
"VGhpcyBpcyBhIHRlc3QgZGF0YQo=" (El contenido original)
timestamp
number
Hora en que se completó la operación.
1702584005
Ejemplo JSON de Éxito (Decrypt):
"statusCode": 200,
"body": {
"uuid": "jhj23424-n3h4-fsfdr4wr4f34f3ff43-989090009",
"file_name": "file_name_test_12.pdf",
"file_decrypted": "JVBERi0xLjcNJeLjz9MNCjMxIDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDEwMDAwNjUvTyAzMy9FIDU3MDkzNi9OIDIvVCA5OTk3MTYvSCBbIDUxMyAyMTBdPj4NZW5kb2JqDSAgICAgICAgICAgICAgDQo1NCAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNS9QcmVkaWN0b3IgMTI.. "3. Respuesta de Error Común
Para cualquier error (ej. clave no encontrada, header faltante, datos mal formados), la API devuelve un código de estado HTTP 4xx o 5xx, y un cuerpo JSON que describirá el problema.
Campo
Tipo
Descripción
Ejemplo de Valor
status
string
Indica el estado de error.
"400"
message
string
Descripción detallada y amigable del error.
"El campo client_id es obligatorio, El tmtamaño del archivo excede lo permitido."
Ejemplo JSON de Error:
{
"status": "400",
"message": "El campo client_id es obligatorio.","El tamaño del archivo excede el permitido.",
"timestamp": 1702584010
}Última actualización