У меня была такая же ... проблема, и я нашел ответ.Когда вы генерируете подпись, входные данные для заказа на тестирование и информации об учетной записи различаются.
Входные данные для информации об учетной записи:
string input = "timestamp=1535623795177";
string apiSecret = "YOUR API SECRET"
Входные данные для порядка предельных значений теста:
string input = "symbol=ETHBTC&side=BUY&recvWindow=6500&type=LIMIT&timeInForce=GTC&quantity=100&price=0.1×tamp=1535623795177";
string apiSecret = "YOUR API SECRET"
и рабочий пример создания подписи (C #):
private string GenerateSignature(string input, string apiSecret)
{
var encoding = new UTF8Encoding();
byte[] keyByte = encoding.GetBytes(apiSecret);
byte[] messageBytes = encoding.GetBytes(input);
using (var hmacsha256 = new HMACSHA256(keyByte))
{
byte[] hashMessage = hmacsha256.ComputeHash(messageBytes);
return String.Concat(hashMessage.Select(b => b.ToString("x2")));
}
}