none
System.Transaction とMS-DTC と WS-ATを動かしてみたい RRS feed

  • 質問

  • 皆さんこんにちは。

    とうとう、.NET Framework 3.0もリリースということで、WCFに関する話題も盛り上がってくる!(はず)と思います。

    さて、様々な知識が欠落しているのは判っていながらも、必要に迫られwsHttpBindingを使いクライアントアプリケーションとサービスとの間でSysytem.Transationによるトランザクションコントロールを行おうとしています。

    しかし、MS-DTCのプロパティでSSL証明書を選択すると、「Could not use the SSL certificate because it does not support Key Encipherment or Digital Signature.」といったエラーが出てしまい設定が出来ません。

    私の行った作業は次の通りです。

    1)Windows Server2003をインストール
    2)Microsoft SQL Server 2005をインストール
    3).NET Framework 3.0 関係のセットアップ、ランタイム・SDK・ORCAS・日本語パッチ
     何れも最新のものです。
    4)MSDNを見て、MS-DTCをWS-AT対応にする為のDLLをregsrv
    5)証明書サービスを追加
    6)コンポーネントサービスからMS-DTCのプロパティで作成されているSSL証明書を選択

    そしてエラーとなります。

    証明書が変なのか?とも思い、証明書の詳細からキーの使用法を確認するとDigital Signature, Certificate Signing, Off-line CRL Signing, CRL Signing (86)
    であるとなっていますので、おそらく証明書的には問題ないのではないか・・・と思いました。

    何か根本的に抜けている作業があるのでしょうか?もしくは勘違い等ありますでしょうか?
    何れも1台のマシンで行っています。

    よろしくお願いします。

     

    2006年11月22日 2:08

回答

  • 皆さんこんにちは。

    現在の状況ですが、

    もしかすると、証明書そのものに何か問題があるかもしれないと思い、WS-ATでの利用の前にIISでSSL通信に使えるのか?
    という事を確認してみました。

    クライアントからの、Certsrvへの証明書要求やインストール等は上手くいきますが、いざHTTPSで通信しようとすると「そのページは表示できません」という結果でした。

    1)WEBルートが【HTTPS対応ではない】状態でのhttp接続 =>OK
    2)WEBルートが【HTTPS対応である】状態での【http接続】 =>OK
     ※正しいプロトコルで接続する旨表示される
    3)WEBルートが【HTTPS対応である】状態での【https接続】=>NG
     ※そのドキュメントは表示できません

    となります。

    現在、これについて解決方法を探っている段階でWS-ATは未だ動作していませんが、もし上手く動作させる事が出来たならば、また(もし、有益な情報であれば)UPさせて貰うこととします。

    っていうか、普通すんなり動くものなんだろうか(^^;;

     

    2006年11月30日 6:17

すべての返信

  • 皆さんこんにちは。

    現在の状況ですが、

    もしかすると、証明書そのものに何か問題があるかもしれないと思い、WS-ATでの利用の前にIISでSSL通信に使えるのか?
    という事を確認してみました。

    クライアントからの、Certsrvへの証明書要求やインストール等は上手くいきますが、いざHTTPSで通信しようとすると「そのページは表示できません」という結果でした。

    1)WEBルートが【HTTPS対応ではない】状態でのhttp接続 =>OK
    2)WEBルートが【HTTPS対応である】状態での【http接続】 =>OK
     ※正しいプロトコルで接続する旨表示される
    3)WEBルートが【HTTPS対応である】状態での【https接続】=>NG
     ※そのドキュメントは表示できません

    となります。

    現在、これについて解決方法を探っている段階でWS-ATは未だ動作していませんが、もし上手く動作させる事が出来たならば、また(もし、有益な情報であれば)UPさせて貰うこととします。

    っていうか、普通すんなり動くものなんだろうか(^^;;

     

    2006年11月30日 6:17
  • chonmage です。

    とりあえず、解決?したかもしれません。(いや、してないな)

    整理しますと、

    ローカルトランザクションの場合、
     KB912817が適用されていれば、wsHttpBinding で System.Transaction が使える。
     MS-DTCも機能している。(2フェーズコミットされます)
     複数マシン間でのテストは環境の都合で出来ていません。

    MS-DTCをSSL対応とする場合、
     Windows Server 2003 の証明書サービスを使う方法は、未だ上手くいかない。

    という事でした。これについては一旦調査中断することとしました。

    お騒がせいたしました。

    2006年12月12日 2:14