签署挑战 (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==

需要更多帮助吗?