Coinbase.com 签名无效
Coinbase.com invalid signature
我搜索了其他帖子,因为我不是唯一有签名问题的人。我尝试了几种语言,但我总是遇到同样的问题。
API 身份验证 coinbase.com 我做错了什么:
# 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"
我正在尝试做类似的事情:
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
不可用,沙箱不再受支持?!
亲切的问候
对于 bash/curl,问题是我在 echo
中使用的 hmac 工具。以下为我处理卷曲请求:
SIG=$(echo -n "${TIMESTAMP}GET/v2/accounts" | openssl dgst -sha256 -hmac "$COINBASE_SECRET" |cut -d' ' -f2);
关于 golang,我比较了哈希总和并得出结论,我正在使用的当前库有问题。
我自己编写了一个库 (https://github.com/Zauberstuhl/go-coinbase),现在它运行得非常棒。
除了我使用 Sprintf
作为最终编码之外,我正在做与上面相同的事情,但应该是相同的。
谢谢!
我搜索了其他帖子,因为我不是唯一有签名问题的人。我尝试了几种语言,但我总是遇到同样的问题。
API 身份验证 coinbase.com 我做错了什么:
# 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"
我正在尝试做类似的事情:
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
不可用,沙箱不再受支持?!
亲切的问候
对于 bash/curl,问题是我在 echo
中使用的 hmac 工具。以下为我处理卷曲请求:
SIG=$(echo -n "${TIMESTAMP}GET/v2/accounts" | openssl dgst -sha256 -hmac "$COINBASE_SECRET" |cut -d' ' -f2);
关于 golang,我比较了哈希总和并得出结论,我正在使用的当前库有问题。
我自己编写了一个库 (https://github.com/Zauberstuhl/go-coinbase),现在它运行得非常棒。
除了我使用 Sprintf
作为最终编码之外,我正在做与上面相同的事情,但应该是相同的。
谢谢!