我正在运行 Manjaro 19.0.2,我正在努力让它检测我正在使用的智能卡读卡器:SCR3310v2.0。我需要这个工作才能使用访问在线美国军事资源CAC验证和验证我的身份。我选择使用 Firefox 75.0 作为浏览器。
我已经遵循了中列出的所有步骤DoD Cyber Exchange 在 Linux 中使用 CAC for Firefox 的指南。我也关注过MilitaryCAC 的 Linux 用户指南。
以下是上面链接的两个指南的摘要。
对于 PKCS#11 实现,我使用开放SC。我还安装了指定的四个软件包军事CAC:
pcsc-lite- PCSC 智能卡库
pcsc-ccid*- 通用 USB CCID(芯片/智能卡接口设备)驱动程序
perl-pcsc- 智能卡读卡器的抽象层
pcsc工具- 可选但强烈推荐,这些工具用于测试 PCSC 驱动程序、卡和读卡器
*在 pamac 管理器中找不到确切的包名称;已安装赛迪反而
我将位于的所有凭据导入到 Firefoxhttps://militarycac.com/maccerts/AllCerts.zip(链接由 MilitaryCAC 提供)。我加载了一个名为opensc-pkcs11.so
Firefox 安全设置的文件。
完成所有这些工作后,智能卡读卡器在连接到我的 PC 时甚至不会亮起,这在 Windows 计算机中很常见。文件浏览器中也没有检测到硬件的迹象。
我知道阅读器本身没有任何问题,因为它在 Windows 中运行得很好。我也知道这不是因为缺少 USB 驱动程序,因为它们从一开始就随 Manjaro 一起安装,也不是因为它们的配置错误,因为我的电脑能够检测到其他 USB 连接的硬件(例如我的手机)并与其连接。
除了在虚拟机中运行 Windows 之外,我不知道下一步可以尝试什么。如果可能的话,我更希望它能在 Linux 上运行。欢迎并非常感谢任何帮助。
笔记
我设法解决了这个问题。下面找到了对我有用的解决方案。另请注意,自从发布此问题后,我的发行版本已更新为 v20.0
答案1
进程是否pcscd
正在运行? (pgrep -l pcscd
输出任何内容吗?)它应该作为服务/守护进程运行,但您可能需要先启用它。
sudo systemctl start pcscd.service # start it now
sudo systemctl enable pcscd.service # make it start automatically at boot in the future too
然后,该pcsc_scan
命令应检测您的读卡器并在插入卡时提供一些卡的技术信息。
另请参阅 Manjaro 论坛上的一系列帖子: https://forum.manjaro.org/t/solved-smartcard-reader-not-shown/39460
基本上,海报 kubwit 的读卡器使用了自定义 USB 产品/供应商 ID,需要/etc/libccid_Info.plist
在ccid
在驱动程序检测到卡添加该 ID。您的读卡器应该按原样支持,除非供应商 ID 最近发生更改(因为该读卡器最初来自 SCR 产品线,但 Identiv 不久前购买了 SCR)。
答案2
我设法解决了我的问题。我是这样做的。
- 使用您的包管理器(在我的例子中为
pamac
),安装以下包,如我原来的帖子中详细介绍的: - 从以下位置下载 DoD 证书这个位置并提取它们。
- 在 Firefox 中,转至编辑 > 首选项 > 隐私和安全 > 证书 > 查看证书 > 权限 > 导入
- 查找并导入提取的证书
- 点击DoD 根 CA 2, 然后编辑信任并确保两个选项均已选中*。完成后,按“确定”
- 点击安全装置, 进而加载。查找并打开该文件
opensc-pkcs11.so
。我的位于/usr/lib64/opensc-pkcs11.so
- 打开终端并运行
pgrep -l pcscd
。正如 telcoM 所建议的,您应该看到输出。如果您没有得到任何结果,请运行他/她评论中的两个命令以pcscd
立即启动服务并使其在启动时运行。pgrep -l pcscd
现在应该输出一个数字,后跟pcscd
- 重启机器
- 打开终端并运行
pcsc_scan
.输出中的最后一行应为Waiting for the first reader...
- 插入您的智能卡读卡器。它应该立即检测到它。现在,每次您插入或取出卡时,终端都会显示
Card removed
和,以及有关该卡的各种详细信息。Card inserted
- 您现在应该能够在线访问需要使用智能卡及其读卡器进行身份验证的内容。
*我不知道这是否是绝对必要的,但这就是我的设置方式。
使用的来源是:
- 适用于 Linux 用户的 MilitaryCAC
- Arch Linux 的智能卡 wiki 指南
- telcoM 对这篇文章的评论回复
答案3
我在 Manjaro 上也遇到了一些问题。pcsc_scan
(安装曼努埃尔列出的所有内容后)显示该卡已被正确检测到,但我无法使用安全设备成功设置 Firefox /usr/lib64/opensc-pkcs11.so
。当我这样做时,Firefox 将开始冻结并且不允许我登录该模块。
我从我的国家 eID 提供商处获得了一个 .deb 文件可供下载。该文件包含证书、一些可执行文件和同名libEidPkcs11.so
.
一旦提取到我的文件系统上,这个 .so 文件就可以加载到 Firefox 中,并且 Firefox 允许我使用我的识别码登录。此外,提供的可执行文件似乎可以在 Manjaro 上正常工作。
最后,我对 Libre Office Writer 还有一个小毛病,这基本上是我缺乏理解。事实证明,Writer 会在数字签名列表中显示当前文档的数字签名,并且只有当您按下按钮时才会显示您的数字签名选项Sign document...
。这对我来说有点违反直觉,但现在已经解决了。