pkcs11-tool:为什么我需要指定要加载的模块?

pkcs11-tool: why do I need to specify a module to load?

当我运行 pkcs11-tool我总是需要指定一个模块:

pkcs11-tool --module=/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so -L

这个模块是做什么用的,pkcs11-tool 如何使用它?我可以使用哪些其他可能的模块?它们有什么区别?

我尝试使用另一个(“/usr/lib/x86_64-linux-gnu/nss/libnssckbi.so”),但我总是得到一个空槽,所以我想模块的用途有所不同?

这些模块用作实际设备的中间件,例如智能卡、USB 令牌和硬件安全模块 (HSM),甚至是 PKCS#11 的软件仿真。

您可以将其视为将 PKCS#11 映射到具体设备的硬件驱动程序,其中一些模块提供特定于供应商的算法、登录机制等。

此处列出了一些已知模块: http://wiki.ncryptoki.com/Known-PKCS-11-modules.ashx

使用 OpenSC,您已经支持很多不同的设备:

https://github.com/OpenSC/OpenSC/wiki/Supported-hardware-(smart-cards-and-USB-tokens)

因此,如果您坚持使用此处列出的那些设备并且不使用 OpenSC 不支持的任何特殊功能,那么您应该使用 OpenSC。