我已经关注这些说明如何将我的网站的访问权限限制为仅限我颁发证书的用户,服务器运行 Windows 2008 R2 和 IIS7.5。
创建自签名 CA 和由该 CA 签名的用户证书的过程没有问题,然后我将我的 CA 安装到受信任的机构并重新启动服务器。我的网站已分配了 GoDaddy 的真实 SSL 证书,因此我无需为此目的颁发自签名网站证书。
现在的问题是...我尝试使用 IIS 配置编辑器进行手动编辑和此扩展。
问题是,当我在 IIS 上映射用户证书(base 64 版本)并尝试浏览网站时,无论我在客户端证书映射下输入什么用户名和密码,从浏览器弹出窗口中选择证书后我总是得到 401,如果我从客户端证书映射中删除证书,401 错误就会消失,页面就可以正常加载,只要我不映射我在浏览器弹出窗口中选择的证书,页面就可以正常加载。
当我映射客户端证书时,事件日志错误是“未知用户名或密码错误”,4625,如果不映射客户端证书,如果我选择证书,页面可以加载,但不会生成任何事件日志,如“成功”,如果我不选择证书,它会显示 403 禁止。
如果我关闭匿名身份验证,那么无论映射与否它都无法工作,有些网站说客户端证书需要匿名,而有些则不需要。
我不需要在 Web 服务器上为每个证书设置一个 Windows 用户,对吗?
为什么我不映射客户端证书,网站也能成功加载?
知道为什么当我实际映射证书时我的设置不起作用吗?
答案1
我怀疑您遇到的问题是证书映射到的系统用户没有使用您的网站所需的权限。
将用户映射到匿名身份验证映射到的同一用户,或者为证书映射到的用户提供与匿名身份验证映射到的用户等效的权限。