Assinar desafio (WebSocket API)

Última atualização: 31/03/2025

Os pedidos de subscrição e anulação de subscrição para feeds privados WebSocket exigem uma mensagem de desafio assinada
com a api_secret do utilizador.

O desafio é obtido conforme mostrado na Secção WebSocket API Pública (usando a api_key).

Os pedidos autenticados devem incluir tanto a mensagem de desafio original (original_challenge) quanto a assinada (signed_challenge) em formato JSON.

Desafio

O desafio é uma string UUID.

Exemplo c100b894-1729-464d-ace1-52dbce11db42 


Os passos para assinar o desafio são os mesmos que os passos para gerar um pedido REST autenticado
exceto o passo 1, que agora é apenas a string do desafio:

  1. 1

    Faça o hash do desafio com o algoritmo SHA-256

  2. 2

    Descodifique em Base64 a sua api_secret

  3. 3

    Use o resultado do passo 2 para fazer o hash do resultado do passo 1 com o algoritmo HMAC-SHA-512

  4. 4

    Codifique em Base64 o resultado do passo 3

O resultado do passo 4 é o desafio assinado que será incluído no pedido de subscrição.

A tabela abaixo mostra o resultado esperado de entradas de exemplo:

desafio

c100b894-1729-464d-ace1-52dbce11db42

api_secret

 7zxMEF5p/Z8l2p2U7Ghv6x14Af+Fx+92tPgUdVQ748FOIrEoT9bgT+bTRfXc5pz8na+hL/QdrCVG7bh9KpT0eMTm

saída assinada

4JEpF3ix66GA2B+ooK128Ift4XQVtc137N9yeg4Kqsn9PI0Kpzbysl9M1IeCEdjg0zl00wkVqcsnG4bm
nlMb3A==

Precisa de mais ajuda?