我正在尝试向 ubuntu 虚拟机展示虚拟智能卡。但虚拟机无法识别该智能卡。尽管 Almalinux 9 虚拟机可以识别虚拟智能卡。
我正在使用 libvirt 的智能卡模块,如下所述智能卡设备。当我启动 ubuntu 22.04 vm 并运行命令时,pkcs11-tool --module /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so -L
出现错误
Slot 0 (0x0): Gemalto Gemplus USB SmartCard Reader 433-Swap [CCID interface...
(token not recognized)
--edit
问题似乎出在 ubuntu 22.04 中打包的 libccid 库(libccid 版本 1.5.0-2)。我编译了版本 1.4.34,并用我编译的版本替换了 libccid.so,然后一切正常。我不知道 libccid 中是否存在代码回归,或者是否编译错误,或者只是不兼容。
相同命令的示例输出,但使用 libccid 的自编译版本。
Available slots:
Slot 0 (0x0): Gemalto Gemplus USB SmartCard Reader 433-Swap [CCID Interface...
token label : cert1
token manufacturer : Common Access Card
token model : PKCS#15 emulated
token flags : login required, PIN pad present, rng, token initialized, PIN initialized
hardware version : 0.0
firmware version : 0.0
serial num : 22ef84d3518c711b
pin min/max : 4/8