我们正在开发ASP.NET应用程序,我们需要在IIS 8上使用客户端证书身份验证。
我按照指南设置了SSL和客户端认证身份验证。
https://blogs.msdn.microsoft.com/asiatech/2014/02/12/how-to-configure-iis-client-certificate-mapping-authentication-for-iis7/
和
https://blogs.iis.net/rlucero/iis-7-walkthrough-one-to-one-client-certificate-mapping-configuration
我已经设置了客户端证书,并添加了一对一的映射,将其映射到本地管理员帐户(一旦它工作,我会将其更改为更多用户)。
我验证了服务器和客户端证书在服务器和clinet上都是有效且可信的。所以证书颁发机构没有问题。
当我尝试访问网页时,我会提示选择客户端证书。当我确认所选证书时,我总是得到401.1结果:未经授权。
我认为它可能与IIS身份验证设置中的相关,我禁用了所有身份验证类型。当我启用Windows身份验证时,它似乎工作 - 我被提示选择证书,当我确认所选的证书时,系统会提示我输入用户名和密码,然后页面显示正确。当然我不希望用户输入Windows用户名和密码。
PS:来自IIS的错误日志文件在https://www.dropbox.com/s/pe8qwxpgilr347l/fr000156.xml?dl=0
感谢您的任何提示。
答案 0 :(得分:0)
就我而言,我需要在Windows Server Manager“角色和功能”和IIS配置编辑器中安装并激活“客户端证书映射身份验证”:system.webServer/security/authentication/clientCertificateMappingAuthentication