2012-02-24 23 views
1

俳優証明書の検証が

-Asp.netサイトを失敗しました。

2つのアプリケーション間で統合テストを行いたいと思います。クライアントは「https」を介してサーバーにアクセスします。 証明書を作成してサーバーに割り当てました。また、「信頼されたルート証明機関」に証明書を追加して、有効な証明書とみなしました。ブラウザ(IE、chrome ...)を介してサーバーのサービスにアクセスしたとき、証明書が有効であるように見えます。私のクライアントアプリケーションがサーバーにアクセスしようとしたときしかし、私は次のエラーを取得する:

Could not establish trust relationship for the SSL/TLS secure channel with authority **** ---> 
The remote certificate is invalid according to the validation procedure. 

は、検証手順をスキップするか、私のクライアントアプリケーションのための証明書が有効にする方法はありますか?

ちょうど知っておいてください:
1.テスト目的でのみ使用するため、私は証明書を購入できません。
2.私は常にtrueを返すように検証コールバックを変更し、アプリケーションのコード(サーバ・クライアント)

答えて

1

私はついにそれを理解することができました。

問題は、既に信頼されたルート証明機関に追加された同じ名前の以前の(期限切れの)証明書でした。 「証明書のインポートウィザード」(またはMMCを介して)を通じて新しい証明書をインストールするたびに、ウィザードが正常に追加されたことを通知しました。ただし、以前の証明書のインスタンスを上書きせずに保持していました。

0

のいずれかに変更を加えることはできません。

ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, policyErrors) => true; 

かをコードする「は変更に違反しないことありません' 調子?

+0

クライアントコードに変更が加えられていないようです。 – andreadi

+0

はい、残念ながら、それはその条件に違反します。私が作ることができる唯一の変更は、web.configファイルにあります。 – Schaliasos

0

信頼できるルートストアにどのように証明書をインストールしましたか?

ブラウザを使用して行った場合は、ほとんどの場合、現在のユーザーにのみ追加されています。代わりに、ローカルコンピュータアカウントのMMCスナップインを使用して追加してください。これは私たちが自己署名IIS Express証明書をインストールするところであり、WCFはそれらに満足しているようです。

+0

ローカルコンピュータのMMCとWebサーバーで両方のアプリケーションが実行されています。その変更の前に、ブラウザは証明書について「不平を言う」。その後、有効と思われますが、依然としてクライアントの検証手続きが失敗します。 – Schaliasos

関連する問題