在IIS 7中,我为网站创建了一个https绑定,我想要求https的客户端证书,并且仍然保留我的http端点。
也就是说,我想要求我的https端点的客户端证书,而不需要全面的SSL并禁止访问我的http端点(通过SSL设置中的“require SSL”)。这可能吗?
答案 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)
}
然后根据需要实现该方法。
注意:我没有对此进行测试,如果您尝试过,请发表评论。