お世話になっております。現在、
http://www.wwlnk.com/boheme/delphi/techdoc/dad0090.html#anchor335098
を参考にさせていただいて、サーバーもクライアントもDelphiで作成しています。
HTTPでは動作確認できたのですが、これをSSL上で行うには、
1.HTTPRio.URLの設定部分を以下のようにhttpsに書き換え
HTTPRio.URL := 'https://localhost/soap/Project1.exe/SOAP/';
2.コントロールパネルのインターネットオプションのインターネットの
プロパティ画面でHTTPサーバのSSLの証明書を設定
するだけでよいでしょうか?
2ではIEだけに証明書が設定されることにならないのでしょうか?
Delphiで作成したクライアントのEXEに証明書を付けたり、暗号化と復号の
ライブラリを別途用意する必要はないのでしょうか?
そもそも1だけで暗号化と復号が自動的にされているのでしょうか?
HTTPRioはSSLをサポートしていないと外国の掲示板に書いてあったのですが、
詳細はよく分かりません。
とりとめのない内容になってしまいましたが、よろしくお願いいたします。
クライアントについて知っていることを書きます。
> HTTPRioはSSLをサポートしていない
確かDelphi7ではSSLはサポートしているけど、証明書はサポートしていない
という事だったと思います。
ただしTHTTPRIO.HTTPWebNode.OnBeforePostでCAPICOMを使って認証すれば
使えるというような話もあります。
http://groups.google.co.jp/group/borland.public.delphi.webservices.soap/msg/86d553718d2fc5c2
Delphi2005だと以下のバグがあるようです。
SOAP/SSL requests fail for self-signed server certificate
http://qc.borland.com/wc/qcmain.aspx?d=10823
> 2ではIEだけに証明書が設定されることにならないのでしょうか?
ならないです。
的確なご回答ありがとうございます。
実は私もCAPICOMについて調べていたところです。
Delphi,SOAP,SSLで検索すると、結局CAPICOMにたどり着くので。
>> 2ではIEだけに証明書が設定されることにならないのでしょうか?
>ならないです。
について再度確認させてください。
つまり、IEなどが使用している証明書ストアはDelphiの実行ファイルから
でも参照することができるが、証明書を認証する機能がないため、
http://groups.google.co.jp/group/borland.public.delphi.webservices.soap/msg/86d553718d2fc5c2
のように自分で証明書を認証する部分は作りこまなければならないという
ことですよね?
> ことですよね?
D7・・・YES
D2005・・・たぶんYES
回答ありがとうございます。やっぱりそのようですね。
自己証明ならばマニュアルでストアしてもらって公開鍵に賭けることも
考えられますが、ベリサインとかだと信頼性がかえって仇となりますね。
まとめると、2の作業だけで認証なしで暗号化しても成りすましが防げない
ため、認証部分をスキップしてしまうと、そもそもSSLにする意味が
なくなってしまうということですよね?
Delphiで本格的なSOAPアプリを作成したいなら
RemObjects SDKのような製品を使ったほうが良いと思います。
RemObjects SDK
http://www.remobjects.com/page.asp?id={364BA043-7A12-4453-8F96-97BDA56BC0E0}
そうですね。Borlandさんのお墨付きがあるわけではないですし、製品の方が
安上がりになるのは間違いないようです。
貴重なご意見ありがとうございました。
機会があれば暗号化されているかどうかだけでも検証して報告します。
ツイート | ![]() |