Я пытаюсь создать заголовок Auth AWS Signature v4 Auth для вызова STS
GetCallerIdentity
API согласно документации на https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html в Bash.
Теперь у меня то же самоеЯ работаю в Python, и после тщательного изучения моих скриптов и выводов в Python и Bash, я вижу, что SHA256, рассчитанный в Bash для строки, отличается от вычисленного в Python.
Строки Посмотрите то же самое в моем текстовом редакторе - символ за символом.
Но поскольку SHA256 отличается, я предполагаю, что это большая проблема с кодированием строки.
PythonСценарий использует UTF8, и хотя я пытался сделать printf "%s" "${string}" | iconv -t utf-8 | openssl dgst -sha256
в сценарии Bash, значения хеш-функции по-прежнему различаются.
Как преобразовать строки / переменные bash в UTF8 до вычисления суммы SHA256.