WCF服务从X509证书报告错误的DNS身份

时间:2012-02-06 19:40:16

标签: wcf iis-7

我遇到了与IIS托管的WSHttp WCF服务的服务证书有关的奇怪问题。

此服务将邮件安全性与客户端和服务器的证书身份验证结合使用。该服务托管在类似于此的网址:

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

服务证书的主题名称为:

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

主题替代名称:

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

但是,当WCF客户端连接时,服务会报告www.services.mydomain.com的DNS身份,而不是主题名services.mydomain.com。这会导致WCF客户端拒绝响应,因为它连接到services.mydomain.com并且期望它是返回的名称。

包含此应用程序的站点同时具有HTTP和HTTPS绑定,但它们都没有主机名(它接受所有连接)。我可以更改什么来使服务报告正确的身份?

我可以更改什么来获取WCF服务

1 个答案:

答案 0 :(得分:4)

对于可能遇到此问题的其他人(尤其是像我这样的GoDaddy颁发的证书,在替代名称中有强制www.前缀),有一个known bug in WCF that causes it to use the last DNS name in the Subject Alternative Name as the identity。不幸的是,解决方法似乎是指定www。 prefix作为客户端点的标识。