[.NET] WSEを試す
この1週間WSEでのプログラムを作ろうと試行錯誤していました。通常のASP.NETでWebサービスアプリケーションを簡単に作って、WSEに対応させるまではすぐできました。
ここで問題になったのが、署名および暗号化を行おうとしたため。
まず最初に証明書の作り方がよくわかりませんでした。これは、ググったらmakecertを使えばいいということがわかったのですが、どうやってもうまくいかない。
ここからが結構いっぱいポイントがあって、証明書の作り方や置き方が問題になっていたらしい。
結局動くところに行き着いたものとして、
- ルート証明書は、自己証明(-r)を行って信頼されたルート証明機関に入れる(-ss AuthRoot)
- サーバーの「信頼されたユーザー」にクライアント証明書を入れる
- クライアントの「ほかの人」にサーバー証明書を入れる
特に2番目のが見つからなくて、結構悩んでいました。改めて考えてみると(署名を確認するために)当たり前なんだけど、サーバー側の設定ウィザードでは出てこないので。
あとは、独自のフィルタを実装して暗号化や署名を確かめればOKかな。