1

WIF で WCF Web サービスを使用しています。詳細な仕様、私は WS2007FederationHttpBinding を使用しています。開発に使用される localhost マシンでは、すべてうまく機能します。

ただし、IIS に展開されたサーバーと他の PC から起動されたクライアントでリモート インストールを試行すると、チャネルの Open メソッドが次の例外で失敗します。

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

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

そのため、テスト目的で、最初に次のコードでこの制約を削除しようとしました。

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

これにより、最初の例外フォルトが実際に削除されます。ただし、InnerSecurityTokenProvider は独自の例外を返すようになりました。

「Le message n'a pas pu être traité car l'action 'http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT' n'est pas valide ou non reconnue. "}

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

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

openssl (http://www.freebsdmadeeasy.com/tutorials/freebsd/create-a-ca-with-openssl.php) で生成された証明書で動作しますか?

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

EDIT 06/01/2012 : また、提案されている署名付き証明書 (+ 失効リスト) でテストされ、ローカルでは機能しますが、リモートでは失敗します。証明書は、こちらで説明されているように定義されています。信頼されたルートの下に展開された CA 証明書があります。IP およびサーバー証明書は、MY (pfx を使用) および Trusted People (cer を使用) にデプロイされます。また、ネットワーク アカウントが LOCALMACHINE MY の下に展開された秘密鍵にアクセスできるように、IIS がセットアップされています。

EDIT 07/01/2012 : 証明書が公式の CA (つまり、verisign、thawte ...) によって発行された場合に機能します。

4

1 に答える 1

1

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

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

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

于 2012-01-05T14:50:58.797 に答える