OverSsl Clientのコンセプトは良いはずだ。
暗号化で安全な通信経路を保障しちゃうのは結構ありがたいはずだ。
だが、問題はいくつかある。
#STARTTLSに対応できないのはコンセプト上、仕方ないのだが。
一番の問題は、アプリケーションの設定を変更しなければならないことだ。
この変更に対応できない場合はとても残念なことだが利用できない。
例えばWWWブラウザなどはその最たるものだ。
そして、それは、サーバーを固定指定することに起因する。
OverSsl Serverの場合は、この仕様で問題ないのだが、Clientでは問題となるわけだ。
他にも問題はあるのだけれど、この問題が解消できると、クライアントアプリケーションの設定を不要にできる可能性が出てくる。
つまり、あまりネットワークを知らない一般ユーザでも導入が簡単になる可能性がある。
いろいろと調べてみたところ、Windowsファイアウォールのようなものであれば、この問題を解決できる可能性があるらしい。
ただ、Windowsファイアウォールではパケットの中身を見ることはできないし、まして書き換えるなんてことはできない。
さて、困った。
winsockプログラムレベルではIPパケットレベルの取得はできても、まだ発信されてもいないパケットを取得したり書き換えたりなんてできるわけがない。
仕方がないから調べる。
どうやら、Windowsファイアウォールっぽく動作するWindowsドライバから開発する必要がありそうなのだ。
それでも書き換えて、しかもSSL暗号化なんてことができるかは分からない。
#この認識も正しいかどうかわからない。
でも、やってみる価値はある。
全て(少なくともWindows)の通信で安心を得るために。
ただ、ドライバ開発となると、C#だけでは厳しいらしい・・・
#C/C++を知らないわけじゃないからいいんだけど、C#ならC#だけで済ませたかった。
(追記)
さらに困ったことに、どうやらVistaからとそれ以前で使えそうなAPIセットが異なるらしい。
OS別に作って差異吸収とか考える必要もありそう。
コメントしちゃいなよ