市值: $2.0675T -2.36%
成交额(24h): $104.6711B 6.47%
恐惧与贪婪指数:

16 - 极度恐惧

  • 市值: $2.0675T -2.36%
  • 成交额(24h): $104.6711B 6.47%
  • 恐惧与贪婪指数:
  • 市值: $2.0675T -2.36%
加密货币
话题
百科
资讯
加密话题
视频
热门加密百科

选择语种

选择语种

选择货币

加密货币
话题
百科
资讯
加密话题
视频

如何修复 Kraken 交易 API 上的无效 API 签名错误?

Kraken API requires HMAC-SHA512 signatures built from `/endpoint + SHA256(nonce+postdata)`, using Base64-decoded secret—timestamps must be unique, millisecond-precise, and <60s old.

2026/06/27 02:59

了解 Kraken API 签名要求

1. Kraken对其交易端点的每个经过身份验证的请求强制执行严格的签名验证。

2. 签名必须使用 HMAC-SHA512 对特定的数据元素串联进行计算。

3. 每个请求都需要一个唯一的时间戳(以毫秒为单位),服务器拒绝早于 60 秒的请求。

4. POST 正文必须先编码为 URL 编码字符串,然后才能包含在签名库中。

5. 请求标头中使用的 API 密钥必须与用于签名的密钥相关联的密钥匹配。

正确的签名构建顺序

1. 将所有请求参数组装到字典中,不包括sign字段本身。

2. 按字母顺序对参数键进行排序,并将它们连接成格式为key1=value1&key2=value2 的单个字符串。

3. 将 API 端点路径(例如/0/private/AddOrder )添加到排序后的参数字符串中。

4. 使用 UTF-8 对生成的字符串进行编码,并使用解码的 Base64 API 密钥作为密钥来计算 HMAC-SHA512。

5. 将生成的摘要转换为 Base64 并将其作为签名参数包含在请求负载中。

Python 实现中常见的编码陷阱

1. 在将 Base64 编码的 API 密钥传递给hmac.new()之前未能对其进行解码会导致无效输出。

2. 在构建 POST 正文时使用原始 JSON 而不是 URL 编码的表单数据会导致签名输入不匹配。

3. 在连接之前将时间戳作为整数传递而不将其转换为字符串会引入静默类型错误。

4. 意外地对参数值进行双重编码(一次在 URL 编码期间,另一次在 JSON 序列化期间)会破坏签名对齐。

5. 忽略 JSON 有效负载中的空白规范化:Kraken 期望紧凑的 JSON 不含空格,因此必须强制执行分隔符 =(',', ':')

标头配置要点

1. API-Key标头必须包含在 Kraken 帐户仪表板上注册的确切 API 密钥字符串。

2. API-Sign标头必须携带 Base64 编码的 HMAC-SHA512 结果,而不是十六进制摘要或原始字节。

3. 对于所有专用端点, Content-Type标头必须设置为application/x-www-form-urlencoded

4. 标头中传递的时间戳必须与签名计算中使用的时间戳精确对齐,不允许舍入或截断。

5. 所有标题区分大小写; api-keyApi-Sign将立即验证失败。

无效签名响应故障排除

1. 使用mitmproxyWireshark等工具捕获完整的原始请求和响应正文,以比较预期签名输入与实际签名输入。

2. 在 Python REPL 中手动重建签名字符串,并验证每个组件的字节表示形式是否符合 Kraken 的期望。

3. 通过打印密钥长度(以字节为单位)来验证密钥的 Base64 解码 — Kraken 密钥解码为正好 64 字节,以实现 SHA512 兼容性。

4. 编码前确认参数值中不存在隐藏字符(如BOM、零宽空格)。

5. 在尝试私人调用之前,首先针对 Kraken 的/0/public/Time端点进行测试以验证时间戳同步。

常见问题解答

问:Kraken 是否需要像 KuCoin 一样单独签名密码?不会。Kraken 在其签名方案中不使用密码。 HMAC 计算中仅涉及 API 密钥和密钥。

问:我可以在多个请求中重复使用相同的签名吗?不会。每个签名都绑定到唯一的时间戳和参数集。重复使用签名会立即引发拒绝。

问:为什么我的签名在 Postman 中有效,但在 Python 中失败?这通常源于不一致的 URL 编码行为 — Postman 自动编码值,而 Python 的urllib.parse.urlencode()可能会省略某些字符的编码,除非明确配置。

问:Kraken API 参数值有最大长度限制吗? Kraken 没有施加任何记录的硬限制,但过长的值可能会由于 HTTP 传输或内部解析期间的静默截断而导致签名错位。

免责声明:info@kdj.com

所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!

如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。

相关百科

如何在OKX上启用子账户进行交易管理?

如何在OKX上启用子账户进行交易管理?

2026-06-27 03:59:35

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

OKX交易所的交易费用如何计算?

OKX交易所的交易费用如何计算?

2026-06-27 03:19:33

市场波动模式1. Bitcoin 在减半公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动往往超过 5%。 2. 当去中心化交易所的 Layer 2 采用率意外飙升时,以太坊的波动性指数多次超过 90。 3. 稳定币脱钩事件(例如 2023 年 3 月 USDC 跌至 0.87 美元)...

如何更改币安账户上的电子邮件或电话号码?

如何更改币安账户上的电子邮件或电话号码?

2026-06-27 02:00:05

基于应用程序的电子邮件修改流程1. 启动币安移动应用程序并使用您当前的凭据登录。 2. 导航到右下角,然后点击我的以访问个人仪表板。 3. 选择帐户和安全,然后找到并点击联系信息部分下的电子邮件。 4. 点击更改电子邮件,输入新的电子邮件地址,然后点击发送代码。 5. 检索发送到新邮箱的六位验证码,...

如何在KuCoin上设置提现确认密码?

如何在KuCoin上设置提现确认密码?

2026-06-26 22:40:23

KuCoin提币安全协议1. 使用您注册的凭据通过官网或移动应用程序登录您的KuCoin账户。 2. 导航至用户配置文件下拉菜单或侧边栏导航面板下的“安全中心”部分。 3. 从安全选项列表中找到并选择“提现密码”或“提现确认密码”。 4. 单击“设置”或“启用”以启动配置过程;用户必须先完成身份验证...

如何管理币安网页登录的会话超时安全?

如何管理币安网页登录的会话超时安全?

2026-06-27 04:19:35

会话超时配置1. 币安网在网页界面不活动 30 分钟后强制自动终止会话。 2. 用户无法通过账户设置或仪表板控件手动延长超时时间。 3. 超时值被硬编码到前端认证层并与后端会话验证逻辑同步。 4. 会话过期会立即触发当前 JWT 令牌的撤销,并使所有关联的 WebSocket 连接失效。 5. 超时...

如何修复 Kraken 交易 API 上的无效 API 签名错误?

如何修复 Kraken 交易 API 上的无效 API 签名错误?

2026-06-27 02:59:50

了解 Kraken API 签名要求1. Kraken对其交易端点的每个经过身份验证的请求强制执行严格的签名验证。 2. 签名必须使用 HMAC-SHA512 对特定的数据元素串联进行计算。 3. 每个请求都需要一个唯一的时间戳(以毫秒为单位),服务器拒绝早于 60 秒的请求。 4. POST 正文...

如何在OKX上启用子账户进行交易管理?

如何在OKX上启用子账户进行交易管理?

2026-06-27 03:59:35

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

OKX交易所的交易费用如何计算?

OKX交易所的交易费用如何计算?

2026-06-27 03:19:33

市场波动模式1. Bitcoin 在减半公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动往往超过 5%。 2. 当去中心化交易所的 Layer 2 采用率意外飙升时,以太坊的波动性指数多次超过 90。 3. 稳定币脱钩事件(例如 2023 年 3 月 USDC 跌至 0.87 美元)...

如何更改币安账户上的电子邮件或电话号码?

如何更改币安账户上的电子邮件或电话号码?

2026-06-27 02:00:05

基于应用程序的电子邮件修改流程1. 启动币安移动应用程序并使用您当前的凭据登录。 2. 导航到右下角,然后点击我的以访问个人仪表板。 3. 选择帐户和安全,然后找到并点击联系信息部分下的电子邮件。 4. 点击更改电子邮件,输入新的电子邮件地址,然后点击发送代码。 5. 检索发送到新邮箱的六位验证码,...

如何在KuCoin上设置提现确认密码?

如何在KuCoin上设置提现确认密码?

2026-06-26 22:40:23

KuCoin提币安全协议1. 使用您注册的凭据通过官网或移动应用程序登录您的KuCoin账户。 2. 导航至用户配置文件下拉菜单或侧边栏导航面板下的“安全中心”部分。 3. 从安全选项列表中找到并选择“提现密码”或“提现确认密码”。 4. 单击“设置”或“启用”以启动配置过程;用户必须先完成身份验证...

如何管理币安网页登录的会话超时安全?

如何管理币安网页登录的会话超时安全?

2026-06-27 04:19:35

会话超时配置1. 币安网在网页界面不活动 30 分钟后强制自动终止会话。 2. 用户无法通过账户设置或仪表板控件手动延长超时时间。 3. 超时值被硬编码到前端认证层并与后端会话验证逻辑同步。 4. 会话过期会立即触发当前 JWT 令牌的撤销,并使所有关联的 WebSocket 连接失效。 5. 超时...

如何修复 Kraken 交易 API 上的无效 API 签名错误?

如何修复 Kraken 交易 API 上的无效 API 签名错误?

2026-06-27 02:59:50

了解 Kraken API 签名要求1. Kraken对其交易端点的每个经过身份验证的请求强制执行严格的签名验证。 2. 签名必须使用 HMAC-SHA512 对特定的数据元素串联进行计算。 3. 每个请求都需要一个唯一的时间戳(以毫秒为单位),服务器拒绝早于 60 秒的请求。 4. POST 正文...

查看所有文章

User not found or password invalid

Your input is correct