如何检查智能卡是否在linux上运行?

时间:2014-03-21 04:52:06

标签: linux smartcard pkcs#11

我是否支持PKCS-11智能卡?我只想检查我的智能卡是否正常工作。如何在Ubuntu上查看?请指导我。我可以用什么软件?我应该遵循哪些步骤?

2 个答案:

答案 0 :(得分:4)

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

在大多数情况下,最好使用智能卡供应商提供的PKCS#11库,但也有许多独立软件供应商,如A.E.T.Aloaha提供智能卡中间件(软件包,通常包含PKCS#11库,可以访问一堆广泛使用的智能卡。您还可以查看OpenSC项目,该项目提供支持many popular smartcards and USB tokens的开源PKCS#11库。

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

  

我是否拥有支持PKCS-11的智能卡?

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

  

如何在Ubuntu上查看?

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

pkcs11-tool --module your_pkcs11_library.so --list-slots

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

  

我可以使用哪种软件?

PKCS#11是广泛支持的标准,因此这个问题很难回答。我想你想用你的智能卡使用开源应用程序,因为你已经提到了Ubuntu所以这里是支持PKCS#11的众所周知的应用程序的简短列表:

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

答案 1 :(得分:0)

要验证Ubuntu是否可以看到您的智能卡读取器和身份证,

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

将安装以下工具:

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

以下链接对此进行了更详细的描述,并为证书设置了firefox / chrome https://cubiclenate.com/linux/applications/utilities/dod-cac-ubuntu-linuxmint/