現在、某ソフトを作成するためにWSSE認証を勉強しているんですが、どうも認証方式が統一されていない模様ですね。
Atom APIを利用するわけではないけど、PasswordDigestの求め方を調べています。
WSSE認証で最低限必要な項目は、Created、Nonce、PasswordDigestなんですけど、
Created:Nonceが作成された日時をISO-8601表記で記述したもの
Nonce:ランダムな文字列(毎回変わるように考慮)
上記の項目についてはある程度統一されているようですが、これらの値を利用して求めるPasswordDigestの方法が違うんです。
詳しく調べていないんですが、RFCでもちゃんと定義されていないようですね。で、一般的なPasswordDigestの求め方は、
PasswordDigest = BASE64(SHA1(Nonce & Created & パスワード))
らしいんですが、SHA1ハッシュ化するときに、NonceをBASE64デコードしておくとか、提供元によって違うんですね。
一番厄介なのが、パスワードです。基本的な認証方法は、サーバー側でも同じことをして認証するんですが、パスワードを平文で利用するということは、サーバー側でも平文で管理していることになるかなと・・・
なので、実際はMD5ハッシュして利用したりするんでしょうが、これを公にするということは、サーバー側のパスワードはMD5で保存されていると宣伝していることになるかと思います。
最新のブログ
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5