需要IIS中的客户端证书而不需要SSL

时间:2012-10-03 02:55:51

标签: security authentication iis ssl certificate

在IIS 7中,我为网站创建了一个https绑定,我想要求https的客户端证书,并且仍然保留我的http端点。

也就是说,我想要求我的https端点的客户端证书,而不需要全面的SSL并禁止访问我的http端点(通过SSL设置中的“require SSL”)。这可能吗?

1 个答案:

答案 0 :(得分:1)

客户端证书通常用于双向SSL,因此不仅仅是服务器,而且客户端也使用它的私钥加密流量。

如果您不想全面实施https,那么您可以尝试的一件事就是接受客户端证书(请参阅SSL设置),然后在您的应用程序中实施证书验证。

有关详细信息,请参阅MSDN上的Request.ClientCertificate

if (HttpContext.Current.Request.IsSecureConnection)
{
// it's SSL, so check the client cert
bool authorized = IsClientCertAuthorized(HttpContext.Current.Request.ClientCertificate)
}

然后根据需要实现该方法。

注意:我没有对此进行测试,如果您尝试过,请发表评论。