Entry

Amazon 用 HMAC-SHA256 署名を作るアプリを作ってみた

2009年08月11日

Amazon の AWS が8月15日から,電子署名付きのリクエストしか受け付けなくなるってんで,どんなもんだか調べるついでに,簡単なアプリケーションを作ってみました。Amazon の署名なので,AmaSig。

HMAC-SHA256 の署名を作る AmaSig の図

ダウンロードはこちらから。

今回は,Intel の IPP(Intel Performance Primitive)ライブラリにあった Crypto 関連の機能を使ったので,ソースコードは公開しません。いや,あたしが書いたところに限って公開してもいいんですけど,商用ライブラリは公開できないから,あまり意味ないってことで。

超不親切な UI で申し訳ないんですけれど,使い方をざっと説明しておきます。まず,最初の大きなテキストボックスに署名対象のメッセージ(GET…)を入れて,小さな方のテキストボックスに,秘密鍵を入力します。[署名作成] ボタンを押したら,HMAC-SHA256 のハッシュ値(署名)が計算されて BASE-64 の形式で表示されます。Ctrl + v でコピペできるので,あとはご自由にどうぞ。[閉じる] ボタンを付け忘れちゃったので,終了するときは [ESC] キーかなんかを押して閉じてください。

出力される値も,入力する値も,URL エンコーディングは考慮していません。必要な場合は(大半が必要なんだろうけど)自分でエンコードした後に署名を計算するなり埋め込むなりしてください。

それにしても,作ってみて分かったんですけど,今回の変更って現在時刻が Timestamp より 900 秒を超えるとエラーが返るようになったんですね。つことは,AWS に対応するには,ほぼリアルタイムにリクエストを動的に生成できる必要があるわけで,要するに,あらかじめ用意しておいた静的なリクエスト文字列は使えなくなる,と。

あたしんとこでは,サイドバーに Wishlist(ほしいものリスト)を載せるのに AWS をつかってたんですけど,これは静的なリクエストを投げてるだけなので,このままでは対応できません。つか,作りからして静的なリクエストしか投げられないので,対応できない。こんなもん作っても,意味無いじゃん。なんだかなぁ。リクエスト文字列のテスト用くらいには使えるかもしれません。

つことで,やる気がまったく失せちゃった。サイドバーの Wishlist は,ひとまず撤退。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN