Cómo funciona la firma

Toda solicitud a Nebula debe incluir clientId, timestamp y sign. El proceso para calcular la firma es
el siguiente:

  1. Tomar todos los parámetros del request, excepto sign, valores vacíos/nulos y parámetros de
    tipo archivo.
  2. Ordenarlos alfabéticamente (orden ASCII) por nombre de parámetro.
  3. Formatear cada uno como key=value y unirlos con & — esto forma el StringToSign.
  4. Calcular HMAC-SHA512(secretKey, StringToSign).
  5. Convertir el resultado a hexadecimal en mayúsculas — ese es el valor final de sign.
  6. Enviar sign junto con el resto de los parámetros (el secretKey nunca se transmite).
🗒️

Nota: el timestamp debe estar dentro de una ventana de ±5 minutos respecto al reloj del servidor
(protección anti-replay). Si la firma no coincide o faltan parámetros, el servidor responde 400/401.