我们目前拥有一个托管在云环境中的网站。我们为了讨论而说,该网站是https://abc.site.com。
我们有一个用于保护网站的通配符SSL证书(*.site.com)
。
我们被要求实施CAC卡/智能卡实施。有没有办法在按钮点击时读取用户的智能卡/客户端证书?
我们能够在我们的开发环境中读取卡片,但只有当我们使用客户端的证书来实际保护网站时(这不是我们想要实现的方式)。
我已经对此做了大量研究,但是我一直无法找到解决问题的方法。从我所读到的ActiveX
控件是使用智能卡证书读取客户端证书存储区的唯一方法,但ActiveX
不是我们的选项。
非常感谢任何帮助!
答案 0 :(得分:2)
这是通过要求客户端证书在Web服务器层完成的。用户的浏览器将提示用户提供智能卡(或其他证书)。您可以通过检查证书的CA根来确保他们提供了有效的智能卡证书。
这里有一个(旧的)ASP.NET教程:http://support.microsoft.com/kb/315588
除此之外,没有通用的方法来检索客户端证书,而无需像你所见的那样使用Java applet或ActiveX控件。
答案 1 :(得分:0)
首先,您需要配置IIS以使用客户端证书进行身份验证。您还需要在WebServer中安装所有证书链。
在ASP.NET页面中,您可以使用Request.ClientCertificate
访问用于在系统上进行身份验证的证书信息。