首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coinbase.com无效签名

Coinbase.com无效签名
EN

Stack Overflow用户
提问于 2017-01-23 15:10:26
回答 1查看 728关注 0票数 0

我搜索了其他帖子,因为我不是唯一有签名问题的人。我尝试了几种语言,但我总是遇到同样的问题。

我在用coinbase.com进行API身份验证时做错了什么:

代码语言:javascript
复制
# normally I fetch the timestamp from https://api.coinbase.com/v2/time
TIMESTAMP=$(date +%s)
SIG=$(echo -n "${TIMESTAMP}GET/v2/accounts" | hmac256 --stdkey $COINBASE_SECRET)

curl https://api.coinbase.com/v2/accounts \
  --header "CB-ACCESS-KEY: $COINBASE_KEY" \
  --header "CB-ACCESS-SIGN: $SIG" \
  --header "CB-ACCESS-TIMESTAMP: $TIMESTAMP" \
  --header "CB-VERSION: 2016-03-08"

在围棋中,我试图做这样的事情:

代码语言:javascript
复制
nonce := strconv.FormatInt(int64(time.Data.Epoch), 10)
message := nonce + req.Method + endpoint // endpoint "/v2/accounts"
req.Header.Set("CB-ACCESS-KEY", a.Key)
h := hmac.New(sha256.New, []byte(a.Secret))
h.Write([]byte(message))

signature := hex.EncodeToString(h.Sum(nil))

req.Header.Set("CB-ACCESS-SIGN", signature)
req.Header.Set("CB-ACCESS-TIMESTAMP", nonce)
req.Header.Set("CB-VERSION", "2016-03-08")

而且,由于api.sandbox.coinbase.com不可用,沙箱不再受支持。

亲切的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-23 19:52:35

对于bash/curl,问题在于我与echo一起使用的hmac工具。以下是为我工作的卷发请求:

代码语言:javascript
复制
SIG=$(echo -n "${TIMESTAMP}GET/v2/accounts" | openssl dgst -sha256 -hmac "$COINBASE_SECRET" |cut -d' ' -f2);

关于golang,我比较了散列和,并得出结论:与我正在使用的库相比,有些东西是可疑的。

我自己写了一个图书馆(https://github.com/Zauberstuhl/go-coinbase),现在它就像一种魅力。除了使用Sprintf进行最终编码外,我还在执行上述相同的操作,但这应该是相同的。

不管怎样,谢谢你!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41809503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档