2012-01-04 4 views
1

私はWIFFでWCF Webサービスを使用しています。より多くの仕様、私はWS2007FederationHttpBindingを使用しています。すべては、開発に使用されたlocalhostマシン上で動作します。IDフェデレーションシナリオでの自己署名証明書

リモートIISや他のPCから起動されているクライアント上で展開サーバーにインストールしようとしたときしかし、私のチャンネルのオープン方法は、次の例外で失敗します

X.509証明書のCN = MyOwnCertificateチェーンの構築に失敗しました。使用された証明書には、検証できない信頼チェーンがあります。証明書を交換するか、certificateValidationModeを変更します。

(MyOwnCertificateはmakecertを使用した自己署名証明書であり、証明書は信頼されたルート証明機関に挿入されています)。

だから私は、最初のテストの目的のために、次のコードによって、この制約を削除しようとした:

this.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.PeerOrChainTrust; 
     this.ClientCredentials.ServiceCertificate.Authentication.RevocationMode = X509RevocationMode.NoCheck; 

初期例外の障害を除去するindeeds。しかしInnerSecurityTokenProviderは現在、独自の例外を返します:

「ル・メッセージn'a PASのPUのETREtraitéカーL'アクション 「http://docs.oasis-open.org/ws-sx/ws-trust PAS ヴァリデn'est/200512/RST/SCT」非reconnueをOU。 "}

(フランスのメッセージのため申し訳ありません)。

このようなリモートシナリオで自己署名証明書を動作させる方法はありますか? (私は内部使用のために証明書が必要なので好きです)

opensslで生成された証明書で動作するでしょうか? -openssl.php)?

あなたの助けが大歓迎です。ありがとう。

EDIT 06/01/2012:提案された(+失効リスト)として署名済みの証明書でもテストされ、ローカルでは動作しますがリモートでは失敗します。証明書はhereと説明されています。 CA証明書を信頼されたルートの下に展開しました。 IP証明書とサーバー証明書は、MY(pfx)とTrusted People(cer)に配備されています。また、IISは、NETWORKアカウントがLOCALMACHINE MYの下に配備された秘密鍵にアクセスできるように設定されています。

EDIT 2012年7月1日:証明書は、公式CAによって発行されたときにそれが機能する(すなわちベリサイン、Thawte社...)

答えて

1

は、たとえば、「SelfCA」と呼ばれる証明書を作成してみてください。それをあなたのTrustedルートストアに挿入します。次に、新しい証明書を作成しますが、今回は「SelfCA」で署名します。

は、このページを参照してください:

http://msdn.microsoft.com/en-us/library/ms733813.aspx

+0

私がテストしてみたが、それは、リモートコンテキストでより良い動作しません。 – fabien

+0

@fabien、あなたが何を紹介しているのか分かりません。 –

+0

証明書の署名は、提案したとおりに機能します。しかし、クライアント/サーバーアーキテクチャでは、私のクライアントはまだ私のCAが誰であるかわからないという事実のため、おそらくエラーが発生します。CAをクライアントマシンに挿入してテストしましたが、それでも動作しません。 CAベンダーの証明書でテストしていますが、おそらくそれが問題を解決するでしょう。 – fabien

関連する問題