首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pkcs11 11工具创建一个槽?

如何使用pkcs11 11工具创建一个槽?
EN

Stack Overflow用户
提问于 2017-11-28 00:19:35
回答 1查看 7.8K关注 0票数 4

我试图在我的应用程序中使用pkcs11来访问智能卡。这是“列表槽”命令的输出-

代码语言:javascript
复制
root@penguin:~/src/tools$ pkcs11-tool -L
Available slots:
Slot 0 (0xffffffffffffffff): Virtual hotplug slot
  (empty)

我有两个问题

  1. 如何模拟假卡,使插槽0有一个令牌/设备,我可以访问。
  2. 我是否可以创建额外的插槽并向其添加令牌/设备?

如果没有,我可以做些什么来将令牌/设备添加到可用的插槽0?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-28 00:39:46

您将需要一个“模块”,这是一个动态加载的库,它与特定的智能卡接口。如果您的智能卡可以使用OpenSC (例如,PIV模式下的Yubikey ),您可以使用OpenSC模块,它通常在/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so上使用,或者在macOS系统上使用/Library/OpenSC/lib/opensc-pkcs11.dylib。如果您没有物理智能卡,并且只想使用PKCS#11 API,则可以安装和使用SoftHSM,它在软件中模拟PKCS#11设备。在使用SoftHSM之前,您需要对它进行一点配置,以创建必要的插槽。SoftHSM模块通常位于Linux系统上的/usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so。您需要在每次执行--module时指定pkcs11-tool

下面是如何设置和使用SoftHSMv2的示例:

代码语言:javascript
复制
mkdir softhsm
cd softhsm
echo "directories.tokendir = $PWD/" > softhsm2.conf
export SOFTHSM2_CONF=$PWD/softhsm2.conf
pkcs11-tool -L --module /usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so

默认情况下,SoftHSMv2将有一个插槽。一旦您在第一个插槽中初始化了一个令牌,它就会自动添加第二个插槽,依此类推。

代码语言:javascript
复制
$ pkcs11-tool  --module /usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so -L
Available slots:
Slot 0 (0x0): SoftHSM slot 0
  token state:   uninitialized
$ pkcs11-tool  --module /usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so --init-token --label my_token
Using slot 0 with a present token (0x0)
Please enter the new SO PIN: 
Please enter the new SO PIN (again): 
Token successfully initialized
membrane:~ $ pkcs11-tool  --module /usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so -L
Available slots:
Slot 0 (0x0): SoftHSM slot 0
  token label        : my_token
  token manufacturer : SoftHSM project
  token model        : SoftHSM v2
  token flags        : rng, login required, token initialized, other flags=0x20
  hardware version   : 2.0
  firmware version   : 2.0
  serial num         : 5bed215e0df0d1f1
Slot 1 (0x1): SoftHSM slot 1
  token state:   uninitialized

如果您正在使用硬件智能卡,通常您将有一组固定的插槽。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47521988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档