3

我正在开发一个新网站(ASP.Net、VB 代码隐藏页面、.Net 3.5)来替换“经典 ASP”网站。

有些页面是“公开的”,其余的则需要身份验证——在这种情况下,它是通过键盘读取 DoD 颁发的 CAC 卡来完成的。

现在,对于“生产”,他们配置 IIS,以便它在访问某个目录(在本例中为 /secure)时执行身份验证质询(读取卡并请求 PIN),从而保护该树中的所有页面。

我快到了需要查看卡片上的一些信息的地步了——但是当我“F5”我正在开发的网站时,所有 Request.Clientcertificate 的东西都是空的——没有发生“挑战” Cassini ASP.Net 开发服务器。

我看到了对“配置 IIS 以将 SSL 放在目标目录中”的引用——但我没有在这台开发 PC 上运行 IIS(其他开发人员也不会很快遇到这个问题)。当站点最终被复制到生产环境中时,网络支持人员将执行此操作,但我现在需要测试某些安全功能。

如何配置 VS2008 附带的服务器以读取 CAC 卡并“加载”我需要查询的服务器/会话变量?或者,我可以将任何东西放入 .aspx 或 .aspx.vb 页面本身来模拟或触发安全挑战吗?

提前致谢。

4

2 回答 2

4

简短的回答。Cassini 不支持这种安全性。

于 2009-05-27T12:29:17.920 回答
0

我希望你现在找到解决方案......但以防万一,我会告诉你我做了类似的开发并且遇到了同样的问题。我发现的唯一“解决方案”是简单地将网站/网页发布到配置为需要客户端证书等的 IIS 的服务器上......

当然,这确实会阻止您使用 Visual Studio 中的“调试”功能,但总有将调试语句注入代码的方法 [eg:如有必要response.write(),后跟response.end()]...我还构建了一个用于枚举的页面所有可用的字符串request.clientcertificate(),甚至后来扩展它以运行提供的正则表达式来搜索整个证书......

希望这些想法被证明是有用的!

于 2009-07-30T17:14:15.757 回答