2011-07-01 55 views
2

Webサービスにリクエスト(WebClient.UploadString())を送信するクライアントアプリケーション(Windowsサービス)があります。 IISを通じて証明書を作成しました。これは、WebClientに要求を送信する前に添付します。しかし、私は、次のメッセージが表示されます:自己署名入り証明書による証明書認証

The remote certificate is invalid according to the validation procedure. 

私は、これは無効な証明書を持つサーバーを参照しているが、私は、クライアントがサーバーを信頼させるための最善の方法がわからないだと信じています。 Eventaully、このWebサービスは、Windowsサービスと同様にいくつかのサーバーにインストールされるので、証明書を単一のコンピュータに添付することはできません。何か案は?

+1

XML WebServices(.NET 2.0)またはWCFを使用していますか?私は、X509証明書で作業する最善の方法は、あなたの設定ファイルであなたのポリシーを指定することであることがわかりました。 – jonnyb

答えて

2

あなたの状況やセットアップは正確ではありませんが、自己署名証明書の使用に関する一般的な情報があります。

自己署名証明書を使用する場合は、その証明書をサーバーの信頼されたルート証明書ストアに追加する必要があります。

基本的に、サーバーは証明書の署名に使用された証明書を信頼しません。証明書自体は自己署名されているため、証明書自体は信頼されません。

独自のルート証明書を作成してサーバーの信頼されたルートに追加し、それを使用して追加のクライアント証明書に署名することもできます。これにより、サーバーに各クライアント証明書をインストールする必要がなくなるため、署名を行うために使用されたルート証明書だけが簡単になります。

もちろん、会社(GoDaddy、Verisignなど)から証明書を購入することもできます。これらは、既に信頼されている証明書によって署名されます。

また、チェックをバイパスする方法があるかもしれませんが、おそらくそのようにしたくないでしょう。

関連する問題