我正在开发一个新网站(ASP.Net,VB代码隐藏页面.Net 3.5)来取代“经典ASP”网站。
有些页面是“公开的”,其余页面需要验证 - 在这种情况下,它是通过键盘读取国防部发布的CAC卡来完成的。
现在,对于“生产”,他们配置IIS,以便当它到达某个目录(在这种情况下为/ secure)时执行身份验证质询(读取卡并请求PIN),以便该树中的所有页面都是安全
我要点我需要看到卡片上的一些信息 - 但是当我“F5”我正在开发的网站时,所有的Request.Clientcertificate都是空的 - 没有'挑战'发生在Cassini ASP.Net开发服务器上。
我看到“配置IIS以将SSL放在目标目录上”的引用 - 但我没有在这台开发PC上运行IIS(其他开发人员也不会很快遇到这种情况)。当网站最终被复制到生产环境中时,网络支持人员会这样做,但我现在需要测试某些安全功能。
如何配置VS2008附带的服务器来读取CAC卡并“加载”我需要查询的服务器/会话变量?或者,有什么我可以放入.aspx或.aspx.vb页面本身可以模拟或触发安全挑战吗?
提前致谢。
答案 0 :(得分:4)
简短回答。卡西尼不支持这种安全。
答案 1 :(得分:0)
我希望你现在找到一个解决方案...但是为了以防万一,我会告诉你我做了类似的开发,我遇到了同样的问题。我找到的唯一“解决方案”是简单地将网站/网页发布到服务器上,IIS配置为需要客户端证书等......
当然,这确实阻止了您在Visual Studio中使用“调试”功能,但始终存在将调试语句注入代码的方法[例如:response.write()
后跟response.end()
必要时] ...我还构建了一个页面,用于枚举request.clientcertificate()
中可用的所有字符串,甚至后来扩展它以运行提供的正则表达式来搜索整个证书......
希望这些想法有用!