Нихера не понимаю. Вот у меня есть подписыватель запросов
Он отлично работает на GET-запросы

...и не работает на POST. Совсем. Апишка говорит Signature Mismatch

Разница — в наличии тела. Его хеш включается в строку, которую надо подписать
Хеширую точно как по инструкции, sha512(body).hexdigest()
Где body это байты в UTF-8

Строка составляется точно так же. И тот же самый алгоритм норм отрабатывает GET запросы без тела...