【问题标题】:Configuring 'Cassini' (ASP.NET Development server) for CAC cards for testing - How?为 CAC 卡配置“Cassini”(ASP.NET 开发服务器)以进行测试 - 如何?
【发布时间】:2010-09-29 20:23:01
【问题描述】:

我正在开发一个新网站(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 页面本身中添加任何可以模拟或触发安全挑战的内容吗?

提前致谢。

【问题讨论】:

    标签: asp.net visual-studio-2008 cassini smartcard cac


    【解决方案1】:

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

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

    希望这些想法有用!

    【讨论】:

    • 它不会阻止您使用 Debug。只需打开项目属性并转到“Web”选项卡。设置项目使用IIS,应该可以正常调试了。
    • 只要我推送到 local IIS,我就可以毫无问题地使用调试。当然我不能在我们的生产机器上调试版本,但那是生产:)
    • Visual Studio 支持远程调试。它将与运行 IIS 的本地计算机或运行远程调试器服务的远程计算机一起使用。从 Visual Studio 中选择 Debug->Attach to Process 并选择要附加到的特定 aspnet_wp.exe 进程。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      • 2015-10-06
      • 1970-01-01
      • 2011-07-10
      相关资源
      最近更新 更多