Windows 当计算机上有多个读卡器时,如何将特定的智能卡读卡器设置为默认值

Windows 当计算机上有多个读卡器时,如何将特定的智能卡读卡器设置为默认值,windows,smartcard,smartcard-reader,Windows,Smartcard,Smartcard Reader,我有一台带有集成智能卡读卡器(Broadcom)的笔记本电脑。我使用的应用程序坚持使用特定的智能卡读卡器(USB令牌)。因此,我必须在我的系统中插入第二个SC读卡器,而我不能删除第一个 问题在于,这些应用程序只使用它们找到的默认(首次找到)SD读卡器来查询智能卡。因此,我的SD阅读器总是报告为“空” 我需要强迫他们阅读我的“第二本书”,因为它是我的主要读物 问题是:是否有可能在不禁用另一个读卡器的情况下选择默认读卡器?有可能让Windows要求使用哪种读卡器吗?我设计了一个“黑客”解决方案,对我

我有一台带有集成智能卡读卡器(Broadcom)的笔记本电脑。我使用的应用程序坚持使用特定的智能卡读卡器(USB令牌)。因此,我必须在我的系统中插入第二个SC读卡器,而我不能删除第一个

问题在于,这些应用程序只使用它们找到的默认(首次找到)SD读卡器来查询智能卡。因此,我的SD阅读器总是报告为“空”

我需要强迫他们阅读我的“第二本书”,因为它是我的主要读物

问题是:是否有可能在不禁用另一个读卡器的情况下选择默认读卡器?有可能让Windows要求使用哪种读卡器吗?

我设计了一个“黑客”解决方案,对我来说很有效,但我确信这不是真正合适的解决方案。我已将
字段从
SCard$DefaultReaders
更改为
\u dummy\u SCard$DefaultReaders
,位于以下注册表位置:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Cryptography\Calais\Readers\Broadcom Corp Contacted SmartCard 0
我基本上禁用了Broadcom智能卡阅读器。这适用于64位Windows 10,在32位系统上,注册表位置可能非常相似

注意:命令行中的
certutil-scinfo-v
帮助了我

我已经设计出了一个对我有效的“黑客”解决方案,但我确信这不是一个真正合适的解决方案。我已将
字段从
SCard$DefaultReaders
更改为
\u dummy\u SCard$DefaultReaders
,位于以下注册表位置:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Cryptography\Calais\Readers\Broadcom Corp Contacted SmartCard 0
我基本上禁用了Broadcom智能卡阅读器。这适用于64位Windows 10,在32位系统上,注册表位置可能非常相似

注意:命令行中的
certutil-scinfo-v
帮助了我


据我所知,没有干净的集中式解决方案。PCSC体系结构背后的思想是,如果连接了多个读卡器,则通过标识要寻址的卡来选择要连接的读卡器。对于用例“存在多个读卡器,但应用程序总是想要一个特定的读卡器,即使不知道与卡有关的内容”,应用程序必须自行处理。(大多数人通过记住上次选择了哪一个来实现这一点。)

据我所知,没有干净的集中式解决方案。PCSC体系结构背后的思想是,如果连接了多个读卡器,则通过标识要寻址的卡来选择要连接的读卡器。对于用例“存在多个读卡器,但应用程序总是想要一个特定的读卡器,即使不知道与卡有关的内容”,应用程序必须自行处理。(大多数实现这一点的方法是记住上次选择了哪一个。)

我有Windows 10 1809,我注意到默认读卡器的名称取决于哪个注册表项按字母顺序排在第一位

HKEY\U LOCAL\U MACHINE\SOFTWARE\WOW6432Node\Microsoft\Cryptography\Calais\Readers


我在我希望首先列出的项的开头添加了一个空格,这导致它按字母顺序排列,并成为默认项。

我有Windows 10 1809,我注意到默认读卡器的名称取决于哪个注册表项按字母顺序排在第一位

HKEY\U LOCAL\U MACHINE\SOFTWARE\WOW6432Node\Microsoft\Cryptography\Calais\Readers

我在我想首先列出的键的开头添加了一个空格,这导致它按字母顺序排序,并成为默认值