Nachdem ich viel zu viel Zeit damit verbracht habe, habe ich es endlich zum Laufen gebracht:
Diese Zeile:
%Vor%fehlt ein 'e':
%Vor%Mit anderen Worten, Zeichen wurden nicht entkernt, bevor die Zeichenfolge signiert wurde.
Nebenbei habe ich auch gelernt, dass der Inhaltstyp für get-Anfragen bedeutungslos ist.
Mit verschiedenen Antworten in diesem Thread habe ich es in eine handliche s3get
bash Funktion umgewandelt:
Getestet auf OSX und Ubuntu. Gespeichert in diesem Github-Kern .
Ich bekam Fehler in der tatsächlichen Antwort. Das funktioniert für mich. Dies wird die Datei als das was es ist und nicht als Zeichenfolge erhalten.
Der TS hat nach einer funktionierenden SHA-1-Version des Skripts gefragt. SHA-1 ist jedoch veraltet, und Amazon verfügt über Rechenzentren, die nur SHA-256-Verschlüsselung akzeptieren. Dies ist das Download-Skript, das für alle S3-Datencenter verwendet werden kann: Es folgt auch HTTP 307 Weiterleitungen.
%Vor%Getestet auf Ubuntu
Wenn jemand eine Lösung zum Entfernen des HMAC-ASCII-Schritts kennt, können Sie gerne antworten. Ich habe das nur auf diese Weise funktioniert.