Подпись для приватных методов

Нужно сформировать подпись. Никогда этого раньше не делал. Вот как трактует это разработчики.

Ссылка на сериализацию https://docs.kuna.io/docs/api-data-schema-and-serialization

HEX (
    HMAC-SHA384(
      {apiPath} + {nonce} + JSON({body}),
      {secretKey}
    )
)

Что у меня получилось.

 = 'https://api.kuna.io/v3/timestamp'

kun_signature = hex(hashlib.sha384(str(r) + str(1613639519) + str({})),{secret_key})
headers = {'user-agent': 'my-app/0.0.1', 
'accept': 'application/json',
'content-type': 'application/json',
'kun-nonce': '1613639519',
'kun-apikey': public_key,
'kun-signature': kun_signature}

pool = requests.get(r, headers=headers)
print(pool)

Вывод

kun_signature = hex(hashlib.sha384(str(r) + str(1613639519) + str({})),{secret_key})
TypeError: Unicode-objects must be encoded before hashing

Укажите, пожалуйста, на ошибки.


Ответы (1 шт):

Автор решения: nonnisnon
hmac.new(key, msg, hashlib.sha384).hexdigest()

где:

  • key - секретный ключ API ,
  • msg - path + publikkey + timestamp

timestamp должен быть идентичный тому, который в headers

→ Ссылка