如何检查智能卡在Linux上是否正常工作?

sms*_*247 2 linux smartcard pkcs#11

我有PKCS-11支持的智能卡吗?我只想检查我的智能卡是否工作正常。如何在Ubuntu上检查它?请指导我。我可以使用什么软件?我应该怎么做?

jar*_*riq 6

重要的是要了解PKCS#11标准只是定义了C语言API来访问智能卡和其他类型的加密硬件(甚至软件)。通常是由硬件供应商提供实现PKCS#11 API并能够访问硬件(在您的情况下为智能卡)的软件库(用于Windows的.dll,用于UNIX的.so等)。您的应用程序通常会加载PKCS#11库并使用它提供的PKCS#11 API函数。

在大多数情况下,最好使用智能卡供应商提供的PKCS#11库,但也有许多独立软件供应商(例如AETAloaha)提供可以访问以下应用程序的智能卡中间件(通常包含PKCS#11库的软件包)。一堆广泛使用的智能卡。您还可以看一下OpenSC项目,该项目提供了一个开源PKCS#11库,该库支持许多流行的智能卡和USB令牌

现在让我们回到您的问题:

我有支持PKCS-11的智能卡吗?

您必须检查是否存在实现PKCS#11 API并支持您的智能卡的库(开放源或商业库)。如果可以找到这样的库,那么答案是肯定的。

如何在Ubuntu上检查它?

如果您已经拥有PKCS#11库,则可以安装“ opensc”软件包,该软件包提供了名为“ pkcs11-tool”的命令行应用程序。您可以使用以下命令列出可通过PKCS#11库访问的读取器和卡:

pkcs11-tool --module your_pkcs11_library.so --list-slots
Run Code Online (Sandbox Code Playgroud)

如果要使用OpenSC项目提供的PKCS#11库,则只需将“ your_pkcs11_library.so”替换为“ opensc-pkcs11.so”。

我可以使用什么软件?

PKCS#11是广泛支持的标准,因此这个问题很难回答。我猜您想将开放源代码应用程序与您的智能卡一起使用,因为您提到了Ubuntu,因此以下是支持PKCS#11的知名应用程序的简短列表:

  • Mozilla Firefox-支持数字签名和客户端身份验证
  • Mozilla Thunderbird-支持电子邮件的数字签名
  • LibreOffice-支持文档的数字签名
  • TrueCrypt-支持磁盘加密
  • OpenVPN-支持客户端身份验证
  • OpenSSH-支持客户端身份验证


小智 5

要验证 Ubuntu 看到您的智能卡读卡器和身份证:

  1. 安装 libusb-1.0-0-dev pcsc-lite pcscd pcsc-tools

将安装以下工具:

  • pcscd - systemctl status pcscd - 有时读卡器会导致此守护程序崩溃,因此您可能需要重新启动它。
  • opensc-explorer - 它搜索并显示附加的智能卡读卡器
  • opensc-tool - 选项将提供有关您的智能卡读卡器的详细信息。
  • pcsc_scan - 将显示智能卡读卡器及其状态。它应该显示您插入的身份证以及何时取出。如果它显示等待阅读器 - 重新启动 pcscd 服务并重试。

以下链接更详细地描述了这一点,并为证书设置了 firefox/chrome https://cubiclenate.com/linux/applications/utilities/dod-cac-ubuntu-linuxmint/