2017-11-28 5 views
0

スマートカードにアクセスするためにアプリケーション内でpkcs11を使用しようとしています。ここにリストスロット "コマンドの出力である -pkcs11ツールを使用してスロットを作成するにはどうすればよいですか?

[email protected]:~/src/tools$ pkcs11-tool -L 
Available slots: 
Slot 0 (0xffffffffffffffff): Virtual hotplug slot 
    (empty) 

は、私は2つの質問私はスロット0がそれにトークン/デバイスを持っているように、偽のカードをシミュレートすることができますどのように

  1. を持っているIアクセスすることができます。

  2. 追加のスロットを作成し、トークン/デバイスを追加できますか?

もしそうでなければ、使用可能なスロット0にトークン/デバイスを追加するにはどうすればよいですか?

答えて

0

特定のスマートカードとインターフェイスするダイナミックに読み込まれたライブラリである「モジュール」が必要です。あなたのスマートカードがOpenSC(例えば、PIVモードのYubikey)で動作する場合、OpenSCモジュールはLinuxシステムでは/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so、MacOSシステムでは/Library/OpenSC/lib/opensc-pkcs11.dylibです。物理スマートカードがなく、PKCS#11 APIを使用したい場合は、ソフトウェアでPKCS#11デバイスをエミュレートするSoftHSMをインストールして使用できます。必要なスロットを作成するには、使用する前にSoftHSMを少し構成する必要があります。 SoftHSMモジュールは、Linuxシステムでは通常/usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.soです。それぞれの実行で--moduleを指定し、pkcs11-toolを指定する必要があります。ここで

設定およびSoftHSMv2を使用する方法の例です:

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は、デフォルトでは1つのスロットを持っています。最初のスロットでトークンを初期化すると、自動的に2番目のスロットが追加されます。

$ 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 

ハードウェアスマートカードを使用している場合は、通常、固定スロットセットが使用されます。

+0

私は同じ出力(スロットは利用できません)を参照しているため、SoftHSMをインストールしようとしましたが、役に立たないと思っていません:root @ penguin:〜/ src/tools $ pkcs11-tool -L --module/usr/lib/softhsm /libsofthsm.so 利用可能なスロット: スロットはありません。 - @jsha – ksoop

+0

あなたが言及しました - あなたがそれを使用する前にSoftHSMを少し必要なスロットを作成するために少し構成する必要があります - それをするためのステップは何ですか? – ksoop

+0

興味深いことに私が - softhsm2-util --show-slotsを使用すると、スロットが表示されます。しかし、pkcs11-tool -L --module /usr/lib/softhsm/libsofthsm.soではそうではありません。何故ですか ? – ksoop

関連する問題