我一直在谷歌上寻找解决方案,但一无所获。我有一个用 C# 编写的 REST 服务(使用 WebServiceHost 类),我正在尝试完成一个简单的任务:使用证书对服务器和客户端进行相互身份验证,无需加密、SSL 或 HTTPS,仅通过 HTTP要求。
目前我可以使用网络浏览器访问http://localhost:8000/MyService/Items/abc
并从服务器获得响应,但我无法让服务器要求使用证书进行身份验证。我能做的最好的事情是让服务器要求用户使用 AD 用户名和密码来识别自己。
编辑:
正如(另一个)Avi 解释的那样 - 由于协议不发送或接收证书,因此不可能通过 HTTP 进行自动证书验证。唯一可行的方法是编写自己的“类 SSL”协议,该协议在 HTTP 上工作,这将使来回调用的数量增加一倍,并且在所有可能的方面都不如内置的 SSL/TLS .