[英]How to set specific Smart Card reader as default, when having multiple readers on computer
I have a laptop with an integrated Smart Card reader (Broadcom).我有一台带有集成智能卡读卡器 (Broadcom) 的笔记本电脑。 Applications I use insist on using specific Smart Card readers (USB tokens).
我使用的应用程序坚持使用特定的智能卡读卡器(USB 令牌)。 Therefore I must insert that second SC reader in my system and I can't remove the first one.
因此,我必须在我的系统中插入第二个 SC 阅读器,而我无法删除第一个。
The problem lies in a fact that those applications use only the default (first found) SD reader they find to query for Smart Card.问题在于这些应用程序仅使用它们找到的默认(首先找到的)SD 读卡器来查询智能卡。 And thus always report my SD reader as "empty".
因此总是将我的 SD 阅读器报告为“空”。
I need to force them to read my "second reader" as it is my primary.我需要强迫他们阅读我的“第二读者”,因为它是我的主要读者。
The question is: Is it possible to somehow select default card reader without disabling the other one?问题是:是否可以在不禁用另一个读卡器的情况下以某种方式选择默认读卡器? Is it possible to have Windows asking for which card reader to use?
是否可以让 Windows 询问使用哪个读卡器?
I've devised "a hacky" solution that worked for me, but I'm sure that is not really the proper one.我设计了一个对我有用的“hacky”解决方案,但我确定这不是真正合适的解决方案。 I've changed
Groups
field from SCard$DefaultReaders
to _dummy_SCard$DefaultReaders
, in this registry location:我已在此注册表位置将
Groups
字段从SCard$DefaultReaders
更改为_dummy_SCard$DefaultReaders
:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Cryptography\Calais\Readers\Broadcom Corp Contacted SmartCard 0
I've essentially disabled my Broadcom smartcard reader.我基本上禁用了我的 Broadcom 智能卡读卡器。 This is working for Windows 10 64-bit and registry location is probably quite similar on 32-bit systems.
这适用于 Windows 10 64 位系统,并且注册表位置在 32 位系统上可能非常相似。
Note: Great utility that helped me was
certutil -scinfo -v
from the command line.注意:帮助我的伟大实用程序是来自命令行的
certutil -scinfo -v
。
Due to my knowledge there is no clean centralized solution.据我所知,没有干净的集中式解决方案。 The idea behind the PCSC architecture was, if several readers are connected, that you choose the one you want to connect to by identifiying the card you want to address.
PCSC 架构背后的想法是,如果连接了多个读卡器,您可以通过识别要寻址的卡来选择要连接的读卡器。 For the use case "more than one reader present, but application always wants a specific one, even without knowing something concerning the card" the application has to take care by itself.
对于“存在多个读卡器,但应用程序始终需要一个特定的读卡器,即使不知道有关卡的信息”的用例,应用程序必须自行处理。 (Most achieve this by remembering, which one was chosen the last time.)
(大多数人通过记住上次选择了哪一个来实现这一点。)
I have Windows 10 1809 and I have noticed that the name of the default reader is dependent on which registry keys is alphabetically first under我有 Windows 10 1809,我注意到默认阅读器的名称取决于哪个注册表项按字母顺序排列在
HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Cryptography\\Calais\\Readers HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Cryptography\\Calais\\Readers
I added a space to the beginning of the key to the one I wanted to be listed first and this caused it to sort alphabetically first and become the default.我在我想首先列出的键的开头添加了一个空格,这导致它首先按字母顺序排序并成为默认值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.