2012-01-13 20 views
0

まず、私の母国語ではなく、自分の英語を残念に思います。私はできる限り私の問題を説明しようとします。証明書なしのwcfでのカスタム認証、https、ssl、およびiis

私はクライアントの要求にユーザー名とパスワードを要求しても、証明書を作成せずに、httpsなどを使用して応答することができるwcfサービスを作成できるソリューションを探していました。私のWindowsサービスがインストールされるマシン上の特別な設定。

私の主張は次のとおりです。多くの顧客にアプリケーションを展開したいと考えています。このアプリケーションは、モバイルデバイスとwcfの助けを借りてモバイルデバイスにいくつかの情報を与えるサーバーを持っています。各顧客にはサーバーと多数のデバイスがあります。私はWeb上の誰もがこれらの情報にアクセスできるようにしたくないので、それぞれの要求に対してユーザー名とパスワードで認証手順を実装する必要がありますが、証明書をインストールしたり、私のアプリケーションの新しいコピーを販売するとき、各マシンのhttpsポート。

wcf 4.0では、データを暗号化できる組み込みシステムがあり、このため、可能な限り他のものを実装するオーバーヘッドは望んでいません。

私の要件は次のとおりです。私の要件を考慮して安全なソリューションを用意することは可能でしょうか?はいの場合、どうすればいいですか?

実際に証明書を作成してIIS、httpsなどのセキュアなソリューションを使用する必要がある場合、顧客の各サーバーマシンにワンクリックウィザードでインストールされるパッケージでこれらの作業を自動化することは可能ですか?

ありがとうございます。

答えて

1

デフォルトでは、WCFはHTTP経由のユーザー名資格情報の転送を許可しないため、トランスポート層を保護するために証明書を使用する必要があります。しかし、httpチャンネルを介してユーザー名の資格情報を送信することがうまくいけば、ClearUsernameBindingを見ることができます。これにより、httpチャンネルを介してユーザー名の資格情報を送ることができます(人があなたのトランスポートチャンネルを傍受して資格情報へのアクセス)

また、インストールする必要がある証明書を使用する場合は、C#でコードを記述し、インストールの一部としてパッケージからインクルードすることもできます。

+0

セキュリティを必要としないようにトランスポートを変更することができます.net 3.5では、httpのヘッダーにユーザー名とパスワードが送信されるためです。 –

0

あなたが探しているものは、メッセージレベルのセキュリティを持つwcfバインディングの1つです。このメッセージにユーザー名とパスワードを入力して、暗号化されていないhttpワイヤー(つまりカスタム認証)を通過する心配はありません。 WCFのデフォルトでは、ヘッダー内のhttp要求の一部としてユーザー名とパスワードが送信されるため、httpsが必要です。

関連する問題