スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • [--/--/-- --:--]
  • スポンサー広告 |
  • トラックバック(-) |
  • コメント(-) |
  • この記事のURL |
  • TOP ▲

rubyでX-WSSE認証用のヘッダを作る 


暫くはまった。
  • digestを作るときに、Digest::SHA1.hexdigest を使っちゃってた
    正しくは Digest::SHA1.digest
  • X-WSSEヘッダ内のNonceの値を素のまま入れていた
    digestを作るときは素のまま使うけど、X-WSSEヘッダ内ではBase64エンコードする必要がある


↓nonceの値の作り方は、場合によってはもっと工夫したほうがいいかも

require 'date'
require 'base64'
require 'digest/sha1'
require 'digest/md5'

created = DateTime::now.strftime("%Y-%m-%dT%H:%M:%SZ")
nonce = Digest::MD5.hexdigest(created + rand().to_s)
username = "username"
pass = "password"

digest = Base64.encode64(Digest::SHA1.digest(nonce + created + Digest::MD5.hexdigest(pass))).chomp

print 'X-WSSE: UsernameToken Username="' + username +
'", PasswordDigest="' + digest +
'", Nonce="' + Base64.encode64(nonce).chomp +
'", Created="' + created + '"'
puts

  • [2009/04/09 16:56]
  • 技術メモ |
  • トラックバック(0) |
  • コメント(0) |
  • この記事のURL |
  • TOP ▲

コメント

コメントの投稿















管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。