Amazon の s3 rest apiの承認を取得しようとしています。めちゃくちゃ複雑です。
Web サイトの管理ページから単純なGET 要求を作成しようとしているため、Javascript を使用してこれを実行しようとしています。Authorization ヘッダーの署名を作成する手順は次のとおりです。
Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ))
私たちの正気を保つために、彼らはいくつかの例を挙げています。
var AWSSecretAccessKey = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY,
StringToSign = 'GET\n\n\nTue, 27 Mar 2007 19:36:42 +0000\n/johnsmith/photos/puppy.jpg;'
ドキュメントでのこの出力はbWq2s1WEIj+Ydj0vQ697zp+IXMU=
. 以下に基づいて、私は得ていZGVjNzNmNTE0MGU4OWQxYTg3NTg0M2MxZDM5NjIyZDI0MGQxZGY0ZQ==
ます:
function encode_utf8(s) {
return unescape(encodeURIComponent(s));
}
SHA1 ハッシュにはcode.google.com のCryptoJS.HmacSHA1 関数を使用しました。私の最終的な署名関数は次のようになります。
var signature = btoa( CryptoJS.HmacSHA1( aws_secret, encode_utf8( StringToSign) ) );
ここで何がうまくいかないのですか?