我正在尝试将我的智能卡通过 RDP 从 Ubuntu 传递到 Windows 机器。一开始它不起作用,随机登录了几次后就再也没有起作用了(没有做任何更改)。我打算尝试任何可以在 Ubuntu 上完成此操作的软件,但我一直在尝试 FreeRDP 和 Remmina,它只是 FreeRDP 的一个包装器。当它工作时,Windows 设备管理器下会列出一个虚拟智能卡读卡器,当它不工作时,不会列出智能读卡器。除了智能卡之外,RDP 会话中的一切都正常。
问题
使用 FreeRDP/Remmina 将智能卡从 Ubuntu 重定向到 Windows
眼镜
Ubuntu 20.04.1
Windows 10.0.19042 Build 19042(已尝试过多个版本的Windows 10)
来自 Ubuntu 存储库的 FreeRDP 版本 2.2.0
SCM Microsystems Inc. SCR 3310 读卡器
命令和错误消息
xfreerdp /u:<user> /v:<ip> /smartcard /p:password
[17:35:08:824] [52329:52330] [INFO][com.freerdp.core] - freerdp_connect:freerdp_set_last_error_ex resetting error state
[17:35:08:824] [52329:52330] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpdr
[17:35:08:824] [52329:52330] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpsnd
[17:35:08:824] [52329:52330] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
[17:35:09:138] [52329:52330] [INFO][com.freerdp.primitives] - primitives autodetect, using optimized
[17:35:09:139] [52329:52330] [INFO][com.freerdp.core] - freerdp_tcp_is_hostname_resolvable:freerdp_set_last_error_ex resetting error state
[17:35:09:139] [52329:52330] [INFO][com.freerdp.core] - freerdp_tcp_connect:freerdp_set_last_error_ex resetting error state
[17:35:09:148] [52329:52330] [WARN][com.freerdp.crypto] - Certificate verification failure 'unable to get local issuer certificate (20)' at stack position 0
[17:35:09:148] [52329:52330] [WARN][com.freerdp.crypto] - CN = <computer-name>
[17:35:10:349] [52329:52330] [INFO][com.freerdp.gdi] - Local framebuffer format PIXEL_FORMAT_BGRX32
[17:35:10:349] [52329:52330] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_RGB16
[17:35:10:366] [52329:52330] [INFO][com.winpr.clipboard] - initialized POSIX local file subsystem
[17:35:10:366] [52329:52330] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded fake backend for rdpsnd
[17:35:10:366] [52329:52344] [INFO][com.freerdp.channels.rdpdr.client] - Loading device service smartcard (static)
[17:35:10:370] [52329:52344] [INFO][com.freerdp.channels.rdpdr.client] - registered device #1: SCARD (type=32 id=1)
[17:35:10:709] [52329:52330] [INFO][com.freerdp.core] - rdp_set_error_info:freerdp_set_last_error_ex resetting error state
[17:35:12:219] [52329:52344] [INFO][com.freerdp.channels.rdpdr.client] - registered device #1: SCARD (type=32 id=1)
[17:35:12:227] [52329:52344] [INFO][com.freerdp.channels.rdpdr.client] - registered device #1: SCARD (type=32 id=1)
[17:35:12:463] [52329:52381] [ERROR][com.freerdp.channels.smartcard.client] - SCardGetDeviceTypeIdW failed with error SCARD_E_UNSUPPORTED_FEATURE [-2146435038]
[17:35:12:463] [52329:52381] [WARN][com.freerdp.channels.smartcard.client] - IRP failure: SCardGetDeviceTypeId (0x00090108), status: SCARD_E_UNSUPPORTED_FEATURE (0x80100022)
[17:35:12:466] [52329:52383] [ERROR][com.freerdp.channels.smartcard.client] - SCardGetDeviceTypeIdW failed with error SCARD_E_UNSUPPORTED_FEATURE [-2146435038]
[17:35:12:466] [52329:52383] [WARN][com.freerdp.channels.smartcard.client] - IRP failure: SCardGetDeviceTypeId (0x00090108), status: SCARD_E_UNSUPPORTED_FEATURE (0x80100022)
[17:35:12:470] [52329:52385] [ERROR][com.freerdp.channels.smartcard.client] - SCardGetDeviceTypeIdW failed with error SCARD_E_UNSUPPORTED_FEATURE [-2146435038]
[17:35:12:470] [52329:52385] [WARN][com.freerdp.channels.smartcard.client] - IRP failure: SCardGetDeviceTypeId (0x00090108), status: SCARD_E_UNSUPPORTED_FEATURE (0x80100022)
pcsc_scan
输出
Using reader plug'n play mechanism
Scanning present readers...
0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (xxxx) 00 00
Wed Dec 30 17:36:18 2020
Reader 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (asdf) 00 00
Event number: 0
Card state: Card inserted,
ATR: asdf
ATR: asdf
+ TS = 3B --> Direct Convention
+ T0 = F9, Y(1): 1111, K: 9 (historical bytes)
TA(1) = 18 --> Fi=372, Di=12, 31 cycles/ETU
129032 bits/s at 4 MHz, fMax for Fi = 5 MHz => 161290 bits/s
TB(1) = 00 --> VPP is not electrically connected
TC(1) = 00 --> Extra guard time: 0
TD(1) = 00 --> Y(i+1) = 0000, Protocol T = 0
-----
+ Historical bytes: asdf
Category indicator byte: 53 (proprietary format)
Possibly identified card (using /home/<user>/.cache/smartcard_list.txt):
xxxx
G+D FIPS 201 SCE 7.0 (PKI)