1.4. 管理智能卡及其内容的工具

您可以使用许多不同的工具来管理保存在智能卡中的密钥和证书。您可以使用这些工具进行以下操作:

  • 列出连接到系统的可用智能卡读取器。
  • 列出可用的智能卡并查看其内容。
  • 操作智能卡内容(密钥和证书)。

有很多工具可以提供相似的功能,但某些工具在系统的不同层上工作。智能卡由多个组件在多个层上进行管理。在较低级别上,操作系统使用 PC/SC 协议与智能卡读取器通信,此通信由 pcsc-lite 守护进程处理。守护进程将收到的命令转发到智能卡读取器通常通过 USB,这由低级 CCID 驱动程序处理。PC/SC 低级通信很少显示在应用程序级别。用于应用程序访问智能卡的主要方法是通过更高级别的应用程序编程界面(API),OASIS PKCS#11 API,它将卡通信基于加密对象(例如,私钥)。智能卡厂商提供了一个共享模块,如一个 .so 文件,它遵循 PKCS#11 API,并作为智能卡的驱动程序。

您可以使用以下工具管理您的智能卡及其内容:

  • OpenSC 工具:使用 opensc 中实施的驱动程序。

    • OpenSC-tool:执行智能卡操作。
    • pkcs15-tool:管理智能卡中的 PKCS#15 数据结构,如列出和读取存储在令牌中的 PIN、密钥和证书。
    • pkcs11-tool:管理智能卡中的 PKCS#11 数据对象,如列出和读取令牌中存储的 PIN、密钥和证书。
  • GnuTLS utils: 一个 API,用于应用程序的 API 来启用网络传输层的安全通信,以及访问 X.509、PKCS#12、OpenPGP 和其他结构的接口。

    • p11tool:对 PKCS#11 智能卡和安全模块执行操作。
    • certtool:解析和生成 X.509 证书、请求和私钥。
  • 网络安全服务(NSS)工具:一组库,旨在支持启用了安全的客户端和服务器应用程序的跨平台开发。使用 NSS 构建的应用程序支持 SSL v3、TLS、Pce PKCS #5、PKCS #7、PKCS #11, PKCS #12、S/MIME、X.509 v3 证书和其他安全标准。

    • modutil:使用安全模块数据库管理 PKCS#11 模块信息。
    • certutil:管理 NSS 数据库和其它 NSS 令牌中的密钥和证书。

有关使用这些工具对使用智能卡身份验证进行故障排除的更多信息,请参阅 使用智能卡对身份验证进行故障排除

其他资源

  • opensc-tool man page
  • pkcs15-tool man page
  • pkcs11-tool man page
  • p11tool man page
  • certtool man page
  • modutil man page
  • certutil man page