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



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

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

客户端证书通常用于 2 路 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)
}

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

注意:我还没有测试过这个,所以如果你尝试过,请发表评论。

相关内容

最新更新