VBAでAmazon Pruduct Advertising API 署名認証 ― 2009-06-19 20:06
今回は名前が変わっただけでなく、「リクエストに認証のための電子署名を含める」ことが必要に。
そのために必要な技術要素は:
・ISO8601形式でのGMTでのタイムスタンプ作成
・パラメーターのバイト順での並べ替え
・SHA-256ハッシュ値生成
・HMACでのメッセージ認証コード生成
・BASE64エンコード
・URLエンコード(パーセントエスケープ)
これらをひとつひとつ実装して組み合わせればいいわけですが、
Visual Basicだと、これがまあ、いちいち面倒くさい・・・。
PHPとかならたぶん何の苦労もないんでしょうけどね。
でもやるしかない。
最も面倒なのがSHA-256。
これは結局、Phil Fresle さんのクラスモジュールを流用させてもらいました。
コチラ↓
http://www.frez.co.uk/freecode.htm#sha256
(SHA-256 Digest - VB and VBScript (ASP) versions)
ただし、そのままでは7bit ASCII以外のデータを処理できないため、
ほんの少し改造する必要がありました。
(ここでかなりはまった・・・)
次はHMAC。
HMACとは:
http://www.ipa.go.jp/security/rfc/RFC2104JA.html
なんだか難しげに書いてありますが、手続きとしてはカンタンなことで、
要は、秘密鍵の文字列と定数とをXORをかけたのをメッセージに
くっつけつつ、ハッシュ(今回はSHA-256)を二重にかけてやるだけ。
あとは、BASE64やら、URLエンコードやら、ソーティングやら、
面倒くさいけれども単純なことだけです。
ビール的飲料をあおりながら一気に書き上げました。
あ、ソーティングとかはちょっと人のコードを拝借しましたが :-p
こうして、VBAで生成した電子署名付きリクエストが無事に
これまでどおり通るようになりましたとさ。
めでたしめでたし。
アマゾンの電子署名認証へのVisual Basicでの対応でお困りの方へ♪
Excel VBAのサンプルコードを有償でご提供します。
連絡可能なeメールアドレスを添えてコメント欄でご連絡ください。
(追記)
既存のVBAコードへのアマゾン署名認証対応作業も承ります♪
(追記 2009年08月23日)
提供サンプルコードはAccessでも使えます♪
iPhoneを完璧に保護する ― 2009-06-23 04:43
この写真のオレンジ色のやつの正体は最後に紹介します。
まずはiPhone専用の 「アンチグレアフィルム」を購入。
これを貼ると、指や顔の脂がつくのが気にならないし、 指をスライドさせたりするときもいつもサラサラで、とっても心地がいいのだ♪
お値段 1,082円。 ちゃりーん
そして「Switch Easy CapsuleNeo」とゆージャケットを装着。
iPhoneに薄ーいシリコンラバーのインナージャケットを羽織らせ、 その上さらにプラスチックのかっこいいフレームでカッチリ覆うというすぐれもの。
お値段 3,280円。 ちゃりーん
これでiPhoneを完全に防護できているわけなんですけど、 こんどはジャケットにキズがつかないかどうかが心配に・・・
そこで(`・ω・´)シャキーン
100円ショップ「キャンドゥ」で、ちょうど良さそうなポーチを探してみたら、ほんとにちょうど良いポーチを見つけました!
最初の写真のオレンジのやつがそれ。 ほかにグレーもありました。 オレンジを選んだのは、バッグの中からすぐに見つけられそうだから!
で、写真のように、入れてみたら、あら?あらあら!ぴったり♪
お値段 105円。 ちゃりーん
100円ショップって、すごいなぁ。。。
縫製が荒かったりナナメだったりしてるけどよし!
最近のコメント