通过以下组合,我的 WCF REST 服务运行良好:
- 标准端点配置将客户端证书添加到标准端点?
- “需要客户端证书”的 IIS7 SSL 配置
- WCF 传输安全,需要指定证书。
我的路由是在 global.asax 中配置的,我使用自定义 WebServiceHostFactory() 和我自己的客户端证书验证。
RouteTable.Routes.Add(new ServiceRoute("RouteNeedsCertificate",
new CustomHostFactory(), typeof(MyRESTService)));
现在我想限制客户端证书的应用,使其仅适用于我的一条路由 - 我有 4 个 REST 端点,但只有 1 个足够敏感,需要客户端证书。
如何设置我的配置(IIS、WCF、CustomWebServiceHostFactory),以便我可以在同一个网站中拥有多个 webHttp 端点,其中 1 个需要客户端证书,其他只需要 HTTPS?