我有一个在IIS(7.5)中托管的SSL安全(https)restful WCF服务。此服务有2个端点。一个端点期望客户端证书,而另一个端点不期望客户端证书。 IIS中的客户端证书设置为
现在,当我从Visual Studio运行我的测试用例时,一切正常。没问题。 问题是当实际客户端(在IIS中托管的网站)尝试通过端点与WCF服务进行通信时,不希望客户端证书。 当网站进行此类调用时,浏览器(IE,Chrome)会弹出一个对话框来选择客户端证书。 如果端点不期望客户端证书,那么为什么浏览器会弹出此对话框来选择客户端证书?
端点绑定看起来像这样
<webHttpBinding>
<binding name="webBinding">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
<binding name="webSecureBinding">
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
</binding>
</webHttpBinding>