2011-09-12 9 views
0

WCFを使用してWebサービスを構築し、カスタム認証(自分のデータベース)とX.509証明書でメッセージセキュリティ(wshttpbinding)を使用することに決めました。クライアントがSOAPメッセージを使用してWebサービスを呼び出して、サービスを認証して使用する方法を知りたい。非WCFクライアントからこのWebサービスを呼び出さなければならないので、私のサービスに呼び出すためにSOAPヘッダセクションに何を追加しなければならないかを知りたい。カスタム認証とX509証明書付きのSOAPクライアント呼び出しメッセージ

いずれかがそれはあなたが証明書を使用する方法方法に依存

よろしく

答えて

1

をいただければ幸いに役立ちます。 message or transport securityを使用することができます。トランスポートとはHTTPSを意味し、相互運用性が高く、メッセージはWS-Securityを意味します。クライアントは通常、特別なAPIを使用する必要があります。したがって、主に非WCFクライアントのタイプに依存します。 JavaやC++のAPIとPHPのAPIはたくさんありますが、Android、iOS、Windows MobileのWS-Security機能を提供するAPIは認識していません。

ユーザー名とパスワードも、メッセージまたはトランスポートヘッダーのいずれかで転送できます。前者のアプローチは、通常、あらかじめ定義されたSOAPヘッダーのみが設定された標準化されたUserName Tokenプロファイルによって実現されます(WCFがこれを行います)。これらのヘッダーには特別なものは何もないので、WS-Security APIを持たないWCF以外のクライアントでも簡単にサービスを利用できるはずです。後者のアプローチは通常、基本的なHTTP認証によって実現され、HTTPSと共に最も相互運用可能なソリューションになる可能性があります(ただし、IISでサービスをホストし、Windowsアカウントを認証に使用したくない場合はWCFサイトにいくつかの課題があります) )。

+0

お返事ありがとうございます。私はすでに質問に記載されているように、ユーザー名とパスワードとX509証明書でメッセージセキュリティを使用しましたが、C#でHTTPリクエストを使用してSOAPクライアント呼び出しのWebサービスを書く方法を尋ねていますか? –

+0

本当に難しいでしょう.XML暗号化とXML署名(どちらも.NETのサポートクラスとは別の名前空間を使用しています)を正しく使用する必要があります。トークンを正しく組み込み、SOAPエンベロープをフォーマットする必要があります。あなたはWCFの大きな部分を再実装しようとしています。 –

関連する問題