我遇到了与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服务
答案 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作为客户端点的标识。