Linux - 如何显示和导入智能卡读卡器传送的证书?

Linux - 如何显示和导入智能卡读卡器传送的证书?

我使用 Linux Mint Debian 版本。

我有 OmniKey AG CardMan 智能卡读卡器,通过 USB 连接到计算机。

  1. 首先我安装了 PCSC Lite / PCSC-Tools

    sudo apt-get 安装 pcscd pcsc-tools

    1. 然后我安装了ifdokccid.sohttps://www.hidglobal.com/driver

    2. 我执行了:

sudo service pcscd start启动服务。

这导致智能卡读卡器上的 LED 闪烁。

  1. 然后,当我输入:pcsc_scan

它提供

PC/SC device scanner V 1.4.27 (c) 2001-2011, Ludovic Rousseau <[email protected]> Compiled with PC/SC lite version: 1.8.17 Using reader plug'n play mechanism Scanning present readers...

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):


问题

我如何验证智能卡读卡器是否正常工作?是否有可能显示更多信息和/或导入存储在智能卡上并插入上述智能卡读卡器的证书?是否有任何 GUI 来管理我的证书?

答案1

确保你有一个读卡器 (IFD) 驱动程序,这样 pcscd 才知道如何与它通信。否则它可能不会做任何进一步的事情,只会让读卡器闪烁。

大多数 USB 读卡器都基于标准 CCID,并可与标准配合使用ifd-ccid但 HID OmniKey 并不总是兼容,而且通常需要自己的omn​​ikey_ifdokccid司机。

尝试运行pcsc_scan以检查 pcscd 是否可以与读卡器和卡通信(某些读卡器由于奇怪的原因仅接受 EMV 卡)。


您还需要一个智能卡本身的驱动程序。它通常以 PKCS#11 模块的形式出现,例如 CryptoTech 的 libccpkip11.so 或基于 OpenSC 的通用驱动程序的 opensc-pkcs11.so,这是必需的,因为某些智能卡具有不同的内部数据存储结构。该模块实际上也是通过 pcscd 与卡通信的;程序不直接使用 pcscd。

Linux 没有全局证书存储;每个程序都必须支持从 PKCS#11 模块加载证书,就像它必须支持从文件加载证书一样。幸运的是,这正在实现有些自动化;许多软件都会接受PKCS11:URL 直接代替纯文件名;但它不是完全通用的,有时您需要单独指定模块/插槽/id/序列。


有一些工具可用于处理 PKCS#11 令牌。从命令行,p11toolpkcs11-tool是主要工具;后者需要指定 PKCS#11 模块,前者尝试加载所有已安装的模块。首先检查模块是否识别出令牌,然后要求它列出令牌中的对象:

$ pkcs11-tool --module libeTPkcs11.so --list-slots
$ pkcs11-tool --module libeTPKcs11.so --list-objects
$ pkcs11-tool --module libeTPKcs11.so --login --list-objects

$ p11tool --list-tokens
$ p11tool "pkcs11:model=eToken" --login --list-certs

要以图形方式查看令牌的内容,您的主要选择是:

  • 使用KeyStore 浏览器;它有文件 → 特殊打开 → 打开 PKCS#11

  • 通过以下方式将 PKCS#11 模块加载到 Mozilla Firefox 中设置 → 安全设备,然后使用 Firefox 的证书浏览器。(它将显示本地令牌证书。

相关内容