【问题标题】:Problem while reading a smartcard in browser在浏览器中读取智能卡时出现问题
【发布时间】:2020-02-15 08:55:47
【问题描述】:

多年来,我一直在使用 PCSC 库来读取智能卡,从未遇到过问题。 我在一个 ASPX 页面中输入了相同的代码,因为它太长并且 100% 正常工作,所以我没有报告它。如果我在 localhost 上从 Visual Studio 2019 运行 Web 应用程序,一切都很好,如果我在 Windows server 2019 必不可少的服务器上运行它,我会收到此错误: 智能卡资源管理器未运行。 我不明白为什么会有这种差异。感谢那些可以帮助我的人。

附注我不懂Java,只会c#

更新。 SCardSvr 服务在服务器上启动,但是当我使用 PCSC 类时,该服务在服务器上自行停止。奇怪的行为............

【问题讨论】:

  • 您可以从 Windows Server 2019 上的文件资源管理器访问智能卡吗?卡需要解锁,我想看看卡的驱动程序是否在 2019 上正确安装。智能卡有很多不同的加密模式,如 16 位、32 位、64 位。您可能有一张 16 位的卡,而 2019 可能无法识别 16 位。您是否使用相同版本的网络库,它正在工作和不工作?目标是(Net 3.5,Net 4.0,...(对于项目是否相同。我已经看到很多问题升级到带有加密的 Net 4.7。
  • 该卡工作正常并且位于客户端电脑上,而不是在网络服务器上。 Web 应用程序和 IIS 设置都在 4.5 框架上。在我的电脑上,如果我使用 Visual Studio 一切正常,如果我在 IIS 服务器上打开应用程序,我会收到错误消息。我的电脑装有 Windows 10 企业版
  • 我更新了我的问题
  • 所以你在客户端访问卡,所以不需要在服务器上安装任何东西。您显然正试图从服务器访问卡。确保您指向客户端而不是服务器。我会检查客户端和服务器上的事件查看器,以查看访问时是否有任何错误。该卡需要证书,并且证书也应该在客户端上

标签: c# asp.net pcsc


【解决方案1】:

更新

根据新信息,OP 希望连接位于远程计算机(客户端)上的智能卡读卡器。

据我所知,这需要从客户端到服务器的 VNC 或 RDP 连接,使用智能卡重定向机制,然后从远程桌面连接期间启动的 Web 浏览器会话打开 ASPX 网页.

我下面的回答根本不适用于这种情况。

老答案

我会首先查看服务器计算机上的服务列表。确保在您尝试请求时智能卡服务和智能卡设备枚举服务都在运行。

由于代表运行 ASPX 页面的应用程序池的用户帐户的权限不足,也可能会出现此问题。

当您从 Visual Studio 2019 运行网页时,它使用派生凭据(很可能是您自己的用户帐户)执行,并且此帐户可能比 Windows Server 2019 上指定的应用程序池用户帐户具有更多权限。这尤其适用如果你使用Application Pool Identities

如果问题是由于权限不足引起的,请参阅ServerFault answer,详细了解如何使用sc.exe 工具配置权限。

另请注意 jdweng 的评论:如果您尚未在 Windows Server 2019 计算机上安装智能卡读卡器所需的驱动程序,那么除了配置权限外,您还需要这样做。否则即使 ASPX 页面能够访问智能卡资源管理器,读卡器本身也没有在其中注册,因此无法使用。

【讨论】:

  • 我检查了设置,它们是正确的,作为我使用最大值的帐户,管理员,我认为我应该拥有所有必要的权限。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
  • 2021-06-05
  • 2016-03-25
  • 1970-01-01
  • 2016-07-31
  • 1970-01-01
相关资源
最近更新 更多