签署挑战 (WebSocket API)

上次更新时间: 2025年3月31日

对 WebSocket 私有订阅源的订阅和取消订阅请求需要使用用户 api_secret 签署的挑战消息。

挑战的获取方式如 WebSocket API Public 部分所示(使用 api_key)。

已认证的请求必须以 JSON 格式包含原始挑战消息 (original_challenge) 和已签署的挑战 (signed_challenge)。

挑战

挑战是一个 UUID 字符串。

示例 c100b894-1729-464d-ace1-52dbce11db42 


签署挑战的步骤与生成已认证 REST 请求的步骤相同,
但第 1 步现在仅为挑战字符串:

  1. 1

    使用 SHA-256 算法对挑战进行哈希处理

  2. 2

    Base64 解码您的 api_secret

  3. 3

    使用第 2 步的结果,通过 HMAC-SHA-512 算法对第 1 步的结果进行哈希处理

  4. 4

    Base64 编码第 3 步的结果

第 4 步的结果是已签署的挑战,它将包含在订阅请求中。

下表显示了示例输入的预期输出:

挑战

c100b894-1729-464d-ace1-52dbce11db42

api_secret

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

已签署的输出

4JEpF3ix66GA2B+ooK128Ift4XQVtc137N9yeg4Kqsn9PI0Kpzbysl9M1IeCEdjg0zl00wkVqcsnG4bm
nlMb3A==

还需帮助?