2012-02-06 9 views
3

IISホストWSHttp WCFサービスのサービス証明書に関して奇妙な問題が発生しています。WCFサービスがX509証明書から間違ったDNS IDを報告します

このサービスは、クライアントとサーバーの両方で証明書認証を使用するメッセージセキュリティを使用します。サービスは、このようなURLでホストされている:

CN = services.mydomain.com 
OU = Domain Control Validated 
O = services.mydomain.com 

のサブジェクト代替名:

http://services.mydomain.com/client.svc 

サービスの証明書は、のサブジェクト名を持つ

DNS Name=services.mydomain.com 
DNS Name=www.services.mydomain.com 

しかし、 WCFクライアントが接続すると、サービスはservices.mydomain.comというサブジェクト名ではなく、www.services.mydomain.comのDNS IDを返します。これにより、WCFクライアントはservices.mydomain.comに接続しているので応答を拒否し、戻ってくる名前であることを期待しています。

このアプリケーションを含むサイトにはHTTPバインディングとHTTPSバインディングの両方がありますが、いずれもホスト名を持っていません(すべての接続を受け入れます)。正しいアイデンティティを報告するようにサービスを変更するにはどうすればよいですか?私は(特に代替名で強制www.接頭辞を持っている私のようなGoDaddyは、発行された証明書、と)この問題を持つかもしれない他の人のためにWCFサービス

答えて

3

を取得するために変更することができ、そこにあるもの

known bug in WCF that causes it to use the last DNS name in the Subject Alternative Name as the identity。回避策は、残念ながらwwwを指定しているようです。接頭辞をクライアントのエンドポイントのIDとして指定します。

+0

同じバグを経験しました。 GoDaddyは要求されていないサブジェクト名を追加し、Microsoftはバグを修正するのが面倒です。そしてサービスプロバイダーとしてあなたの顧客に馬鹿のように見える> :-(申し訳ありませんが、私の欲求不満を解消する必要があります... –

+0

あなたの答えのリンクが壊れているようです。同じことをして、背景を読んでみたいそれ。 –

関連する問題