[.NET] WSEを試す

この1週間WSEでのプログラムを作ろうと試行錯誤していました。通常のASP.NETWebサービスアプリケーションを簡単に作って、WSEに対応させるまではすぐできました。

ここで問題になったのが、署名および暗号化を行おうとしたため。
まず最初に証明書の作り方がよくわかりませんでした。これは、ググったらmakecertを使えばいいということがわかったのですが、どうやってもうまくいかない。
ここからが結構いっぱいポイントがあって、証明書の作り方や置き方が問題になっていたらしい。
結局動くところに行き着いたものとして、

  1. ルート証明書は、自己証明(-r)を行って信頼されたルート証明機関に入れる(-ss AuthRoot)
  2. サーバーの「信頼されたユーザー」にクライアント証明書を入れる
  3. クライアントの「ほかの人」にサーバー証明書を入れる

特に2番目のが見つからなくて、結構悩んでいました。改めて考えてみると(署名を確認するために)当たり前なんだけど、サーバー側の設定ウィザードでは出てこないので。

あとは、独自のフィルタを実装して暗号化や署名を確かめればOKかな。