通过 rdp (Raspberry) 使用智能卡

Using smartcard through rdp (Raspberry)

您好,我先介绍一下我的设置,然后再说明问题:

Raspberry Pi 型号 2(客户端 RDP)------------> 台式机 DELL(服务器 RDP)

所以:Raspbian 喘息 --------------------------> 所以:Windows 7

智能卡 reader 集成在连接到 Raspberry 的 DELL 键盘中。

现在的问题: 当我在主机(Desktop DELL)中使用智能卡 reader 并连接键盘并引入 DNIe(西班牙身份证件)时,它会起作用。我可以转到我的资源管理器并查看证书。

现在我连接到 Raspberry 并通过 RDP 在 Raspberry 的屏幕上看到主机 (Windows 7) 的屏幕。然后我将 DNIe 连接到智能卡 reader 插槽中,但键盘上没有显示灯。 (当我在主机桌面上连接它时,它显示一个绿色信号,表示检测到卡。我还在远程会话中打开资源管理器,但没有出现任何证书,我无法签署国家提供给我们的测试使用 DNIe 测试签名。

我在其他网站上看了很多意见,每个人都说当你通过 rdp 连接时不可能这样做,这是真的还是有解决这个问题的方法?

您的问题很可能是由 winscard.dll 库的内置功能引起的,它表示 MS Windows 中的 PC/SC layer(提供对智能卡读卡器的访问的低级子系统)。当 winscard.dll 检测到有一个 RDP 会话打开时,它会禁用对本地读取器的访问,将所有调用重定向到远程客户端,通过这样做,它有效地只为连接到 RDP 客户端机器的读取器提供访问。

我知道三种可以阻止 PC/SC 重定向的解决方案:

  1. 不要使用 RDP。这是最简单、最便宜和最干净的解决方案。真的!
  2. 请您的卡供应商将中间件中的 PC/SC (winscard.dll) 替换为其他内容。祝你好运!
  3. 强烈反对:您可以hack your winscard.dll库并禁用重定向功能。

就我个人而言,我始终坚持第一种选择 - 最简单、最便宜和最干净的解决方案。