- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是根据原始帖子编辑的:
来自文档:
Signing a Message The CB-ACCESS-SIGN header is generated by creating a sha256 HMAC using the base64-decoded secret key on the prehash string timestamp + method + requestPath + body (where + represents string concatenation) and base64-encode the output. The timestamp value is the same as the CB-ACCESS-TIMESTAMP header.
这是我删除的 key 的信息。这是来自 Coinbase Pro 沙箱:
公钥:
06057d5b5e03d0f8587a248330402b21
密码:
gcgs6k6rp0f
key :EFAToD5heo66GIgZlT2TIZzJf8TYlmxyExRYDHTBv3lTt9XN6uaNS0RNAy0os/caR47x6EiPDOV3Ik+YzrfEA==
我正在使用 angular,特别是 node.js crypto-js 库:
private generateSignaturePro(timestamp: string, method: string, resourceUrl: string, requestBody: string): string {
var prehash: string = timestamp + method + resourceUrl + requestBody;
var key = (Buffer.from(this.secretKey, 'base64')).toString();
return crypto.enc.Base64.stringify(crypto.HmacSHA256(prehash, key));
}
服务器时间是 Time: 2019-05-20T19:01:38.711Z Epoch: 1558378898.711 (from/time endpoint)
这是我的请求和服务器响应:
要求:
Request URL: https://api-public.sandbox.pro.coinbase.com/accounts
Request Method: GET
Status Code: 400
Remote Address: 104.16.161.226:443
Referrer Policy: no-referrer-when-downgrade
请求 header :
Provisional headers are shown
Accept: application/json, text/plain, */*
CB-ACCESS-KEY: 06057d5b5e03d0f8587a248330402b21
CB-ACCESS-PASSPHRASE: gcgs6k6rp0f
CB-ACCESS-SIGN: 0cc2BnQYdUhLucXSPwMTjpHjJ32G3RXSH44rSsEopvjAtY90uRCMVy6xUrzg/A/aRJBLqx390fcZc7lmJeP++g==
CB-ACCESS-TIMESTAMP: 1558378899
Referer: https://localhost:44342/dashboard
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36
响应头:
access-control-allow-headers: Content-Type, Accept, cb-session, cb-fp
access-control-allow-methods: GET,POST,DELETE,PUT
access-control-allow-origin: *
access-control-expose-headers: cb-before, cb-after, cb-gdpr
access-control-max-age: 7200
cache-control: no-store
cf-cache-status: MISS
cf-ray: 4da08f74ba97cf68-IAD
content-length: 31
content-type: application/json; charset=utf-8
date: Mon, 20 May 2019 19:01:38 GMT
etag: W/"1f-4RjKVp8I05+xcnQ5/G16yRoMSKU"
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
status: 400
strict-transport-security: max-age=15552000; includeSubDomains
vary: Accept-Encoding
x-content-type-options: nosniff
x-dns-prefetch-control: off
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
响应:
{"message":"invalid signature"}
我做错了什么?
编辑:将方法更改为 SHA 256 版本。还是不行。
最佳答案
我遇到了同样的问题,我的代码基本上和你的一样。我改为以下(c#),它终于成功了。奇怪的是 coinbase pro 是唯一的交易所,到目前为止我在签名方面遇到了问题。无论如何,这是对我有用的代码。希望这可以帮助。会节省我几个小时
public string ComputeSignature(
HttpMethod httpMethod,
string secret,
double timestamp,
string requestUri,
string contentBody = "")
{
var convertedString = System.Convert.FromBase64String(secret);
var prehash = timestamp.ToString("F0", CultureInfo.InvariantCulture) + httpMethod.ToString().ToUpper() + requestUri + contentBody;
return HashString(prehash, convertedString);
}
private string HashString(string str, byte[] secret)
{
var bytes = Encoding.UTF8.GetBytes(str);
using (var hmaccsha = new HMACSHA256(secret))
{
return System.Convert.ToBase64String(hmaccsha.ComputeHash(bytes));
}
}
关于coinbase-api - Coinbase Pro API - 签名无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56204699/
我在创建新帐户时遇到此错误。 (1/2) ClientException Client error: POST https://api.coinbase.com/v2/accounts resulte
在API控制台上,我只看到了自用的API key。但是大多数文档在形成 CB-ACCESS-SIGN 或初始化 auth 对象时都引用了 key 。 我是否应该创建一个 OAuth 应用程序,即使它是
应该如何生成签名参数以打开与 Coinbase Websocket 的经过身份验证的连接?我在任何地方都找不到任何简洁的描述。 对于 GET/PUT API 调用,我使用下面的代码成功生成了它,但是对
我正在尝试使用 Coinbase 的 API,但收到无效签名。 所以可能我实际上签错了或者我遗漏了一些东西。 我应该根据要求使用什么?我应该在方法上使用 POST 还是 GET? $urlapi =
coinbase API 允许您在向 https://api.coinbase.com/v2/prices/BTC-USD/spot 发出请求时指定日期. API 规定日期的格式应为 YYYY-MM-
你们知道Coinbase是否允许Xapo那样通过其Api自动创建用户吗? 基本上,我需要为Web应用程序上的用户生成一个钱包地址。 欢迎任何创新的想法或替代方案,如果不可能的话! 谢谢 最佳答案 这就
coinbase API 允许您在向 https://api.coinbase.com/v2/prices/BTC-USD/spot 发出请求时指定日期. API 规定日期的格式应为 YYYY-MM-
这是根据原始帖子编辑的: 来自文档: Signing a Message The CB-ACCESS-SIGN header is generated by creating a sha256 HMA
我想合并Coinbase commerce , 是否可以通过设置 recurring payment button ,并链接到我的 Coinbase 商业地址? 我的要求是使用 Coinbase co
从昨天下午 5:30(巴黎时间)开始,我在尝试列出我的帐户时收到 UNABLE_TO_GET_ISSUER_CERT_LOCALLY。 我正在使用 nodejs 库,几个月以来它一直运行良好。 cli
我正在使用 Coinbase API。我的应用程序通过回调生成新的接收地址。然而,当 BTC 到达这些地址中的任何一个时,回调似乎没有被触发。 我已经验证确实为新地址创建了回调,并且我的应用程序会正确
我正在尝试使用 R 的 rgdax 包来下载一些历史价格。 我设置了我的 API key 等,并尝试在过去 24 小时内加载: start % tbl_time(index = time) %>%
尝试在 coinbase 中查看我列出的帐户,我已经生成了 hmac 哈希并且没有收到任何错误,但由于某种原因我仍然收到 {'message': 'invalid signature'} 和401 错
尝试在 coinbase 中查看我列出的帐户,我已经生成了 hmac 哈希并且没有收到任何错误,但由于某种原因我仍然收到 {'message': 'invalid signature'} 和401 错
我的 coinbase 支付按钮不会显示。我从 coinbase 收到此错误消息: 拒绝显示' https://coinbase.com/transactions ' 在框架中,因为它将 'X-Fra
我想知道 Coinbase 如何在订单中输入一个值(市价、限价、止损)后获取/计算其费用和总额。任何人都可以解释如何获得费用和总计,或者可能有一个 coinbase api 可以用于这个?这真的是一个
这里我尝试使用 coinbase api 获取所有帐户: require 'MyInclude/vendor/autoload.php'; use Coinbase\Wallet\Client; us
这里我尝试使用 coinbase api 获取所有帐户: require 'MyInclude/vendor/autoload.php'; use Coinbase\Wallet\Client; us
如果我的日期会不断变化,该如何构建历史比特币数据的结构?我正在使用https://mholt.github.io/json-to-go/构建打算在到达此终点https://api.coindesk.c
我正在使用 Spring 5 和 Java 8 创建一个应用程序,以使用 Coinbase Pro 为自己和其他人进行交易。我有一个 coinbase.properties 文件,它具有以下属性: a
我是一名优秀的程序员,十分优秀!