Asp.net HTTP上的客户端证书身份验证(无HTTPS)

Asp.net HTTP上的客户端证书身份验证(无HTTPS),asp.net,http,iis,authentication,client-certificates,Asp.net,Http,Iis,Authentication,Client Certificates,客户端证书是否可以在不使用HTTPS的情况下用于身份验证,而只能在使用ASP.NET的Windows IIS平台上通过HTTP进行身份验证 我需要使用数字证书对客户端进行身份验证,但我不能使用HTTPS。不,您不能,至少如果客户端是web浏览器。而且,这没有任何意义。谢谢菅直人的快速回复!你能再给我解释一下吗?为什么没有意义?如果我想知道客户是谁,但我不想要安全通道如果你没有安全通道,那么每个人都可以窃取客户的身份,而你将不知道是真正的客户还是窃取了客户身份的黑客。@kan,你的答案不完全正确,

客户端证书是否可以在不使用HTTPS的情况下用于身份验证,而只能在使用ASP.NET的Windows IIS平台上通过HTTP进行身份验证


我需要使用数字证书对客户端进行身份验证,但我不能使用HTTPS。

不,您不能,至少如果客户端是web浏览器。而且,这没有任何意义。

谢谢菅直人的快速回复!你能再给我解释一下吗?为什么没有意义?如果我想知道客户是谁,但我不想要安全通道如果你没有安全通道,那么每个人都可以窃取客户的身份,而你将不知道是真正的客户还是窃取了客户身份的黑客。@kan,你的答案不完全正确,请检查:@KeesC.Bakker为什么??您提到的问题只涉及WS-Security。WS不是web浏览器。一种方法是:使用JavaScript实现X.509,但我不确定它是否能工作,至少由于性能问题。而且不确定客户机将如何向JavaScript提供客户机证书。@kan-虽然它需要一个自定义解决方案,但肯定有一点。如果有人无法使用SSL(例如,由于IP地址限制),使用客户端证书仍然允许通过HTTP进行安全身份验证,方法是使用用户公钥加密质询,并使用服务器公钥加密并由客户端私钥签名返回服务器。