Удаление Content-MD5
- очень плохая идея ™.Это технически необязательно, но не должно быть, потому что это критично для целостности данных.
Но если вы настаиваете ... проблема с кодом подписи заключается в том, что вы удаляете пустую строку 1005 *это происходит там, где должен был быть полезный хэш MD5.
Примечание. После каждого шага построения строки добавляйте в строку новую строку (\n
).
https://cloud.google.com/storage/docs/access-control/signing-urls-manually
Итаквам нужно ...
signature_string = ('{verb}\n'
'\n'
'{content_type}\n'
...
Строка-знак всегда имеет одинаковое количество строк, ограниченных \n
, даже если некоторые строки оставлены пустыми для необязательных значений.
Поскольку строка для подписи используется в качестве входных данных для HMAC, а затем отбрасывается, служба не имеет возможности учесть отклонения от точного формата, независимо от того, насколько он мал.