2011-07-22 9 views
1

私はWIFで構築されたカスタムSTSを持っています。同じサーバー上に依拠当事者とSTSがある場合は、それを稼働させることができます。STSにRP証明書がインストールされている必要がありますか?

ただし、リモートマシンを使用するとID4036エラーが発生します。私が掘り下げたところでは、STSのデフォルトでは、依拠当事者が要求した証明書ではなく、ローカルの証明書で常に発信トークンを暗号化していることがわかりました。 1つの解決策は、依拠当事者が使用する証明書(公開鍵のみ)をSTSにインストールし、その証明書を使用するようにSTSをコード化することです。

しかし、別のサーバーに他の依拠当事者を追加すると、問題が発生します。ここで

は例です:MySTS上

STS - SigningCertとの兆候トークン。 MyWebServer01上

RPは - (公開鍵/秘密鍵を所有している)私はMySTSにMyWebServer01Certをインストールして、暗号化トークンのためにそれを使用するようにSTSを設定し、すべてが動作する必要がありますすることができ

/暗号MyWebServer01Certで復号化したいと考えています。しかし、MyWebServer02に依存パーティーアプリケーションを追加したいとしましょう。 MyWebServer01Certの公開鍵と秘密鍵をインストールしない限り動作しません。

公開鍵をSTSに送信するだけで各RPがSSLを使用することができます。これは当てはまりませんか?

ご協力いただきありがとうございます。

答えて

1

まず、暗号化には公開鍵のみが必要です。実際に証明書の秘密鍵を捨てることは決してありません。

WS Federationプロトコル(通常はWebサイトのSTSシナリオで使用される)を使用する場合、STSへの要求はRPサーバからではなく、ユーザのブラウザによって送信されます。私はあなたがhttpsを介して通信するために前のサイトの公開鍵を使用するようにブラウザに指示することをお勧めしません。一方、暗号化されたトークンはrpサーバーによって解読されます(つまり、RPサーバーはトークンの暗号化に使用された証明書の秘密キーを知っていなくてはなりません)。

このような状況を考慮して、私は、RPの証明書の公開鍵がSTSに存在しなければならず、要求に含めることができないと確信しています。他のすべてはおそらく、あなたのカスタムSTS(例えば、公開鍵をパラメタとして含む)だけで動作する汚れたハックであるでしょう。

"パッシブサインイン"シナリオでは少なくとも。 WCFの場合、クライアント証明書としてサーバーの証明書を要求に添付することができます。しかし、私は自分でこれを試していません。

+0

ありがとうございます、あなたも正しいと思います。私は他のいくつかの問題がありますが、彼らはおそらく自分のスレッドに値するでしょう。 –

関連する問題