如何配置WCF以使用HTTP和客户端证书?
问题描述:
如何配置WCF使用HTTP(无ssl)和客户端证书?如何配置WCF以使用HTTP和客户端证书?
在服务方面,我尝试了以下:
<bindings>
<basicHttpBinding>
<binding name="binding1">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Certificate"></transport>
</security>
</binding>
</basicHttpBinding>
</bindings
但抱怨说:
Certificate-based client authentication is not supported in TransportCredentialOnly security mode. Select the Transport security mode.
感谢,
答
我不认为我完全明白你的问题。
如果你想配置你绑定的安全性(basicHttpBinding)来使用客户端证书(来验证客户端),据我所知,唯一的方法就是使用消息安全性,你可以找到http wcf samples中的示例。
如由此导致的异常说明,也on a Distributed Services Support Team blog:
注意:使用TransportCredentialOnly模式,则不能使用基于证书的客户端身份验证:基于证书的 客户端身份验证不TransportCredentialOnly安全模式支持。
答
我从你的问题中得到的理解是你想使用你的自定义证书,它还没有被CA(证书颁发机构)颁发。
在这种情况下,您需要在服务器上安装相同的服务器,并且如果您使用的是.NET,则它们也需要在IIS中与您的网站连接。
希望这项工作
+0
这是不正确的,也不是与我的问题有关。仅供参考,应在哪些地方安装证书。根CA应安装在所有涉及的服务器(服务和客户端)上,但客户端证书只需安装在客户端机器上。 –
当你把它设置为'Transport'时会发生什么? –
Transport意味着它需要SSL和HTTPS地址,这不是我想要的。我只需要测试客户端证书的工作。 –