2013-02-24 14 views
5

OpenSSLにPKCS#11エンジンを追加したいが、私はCentOS 6.2を使用する。あなたは以下を参照することができますように私は実際には問題なくエンジンをロード:PKCS#11エンジンがcentos 6のopensslで動作しない

[[email protected] 05:06:18 openssl-1.0.1e]$ openssl engine -t dynamic -pre SO_PATH:/usr/lib/openssl/engines/engine_pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/local/lib/libsst.so 
(dynamic) Dynamic engine loading support 
[Success]: SO_PATH:/usr/lib/openssl/engines/engine_pkcs11.so 
[Success]: ID:pkcs11 
[Success]: LIST_ADD:1 
[Success]: LOAD 
[Success]: MODULE_PATH:/usr/local/lib/libsst.so 
Loaded: (pkcs11) pkcs11 engine 
    [ available ] 

を私はロードされたエンジンを参照してくださいOpenSSLのオプションを使用する場合、PKCS11エンジンがリストにありません。

[[email protected] 05:19:58 openssl-1.0.1e]$ openssl engine -v -t 
(aesni) Intel AES-NI engine (no-aesni) 
    [ available ] 
(dynamic) Dynamic engine loading support 
    [ unavailable ] 
    SO_PATH, NO_VCHECK, ID, LIST_ADD, DIR_LOAD, DIR_ADD, LOAD 

と私はエンジンを使用したいとき、私はこのエラーを参照してください。

[[email protected] 05:20:04 openssl-1.0.1e]$ openssl genrsa -engine pkcs11 -out priv.key 1024 
invalid engine "pkcs11" 
3078776556:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(/usr/lib/openssl/engines/libpkcs11.so): /usr/lib/openssl/engines/libpkcs11.so: cannot open shared object file: No such file or directory 
3078776556:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244: 
3078776556:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450: 
3078776556:error:2606A074:engine routines:ENGINE_by_id:no such engine:eng_list.c:417:id=pkcs11 
3078776556:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libpkcs11.so): libpkcs11.so: cannot open shared object file: No such file or directory 
3078776556:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244: 
3078776556:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450: 
Generating RSA private key, 1024 bit long modulus 
.......++++++ 
.......++++++ 
e is 65537 (0x10001) 

私は問題は何ができるかを把握することはできません...

+1

deefaultに含まれるpkcs11エンジンですか、それともopensslにパッチを当てましたか? –

答えて

6

OpenSSLがちょうど1時間のためにライブラリをロードし、その後、それは状態を保持しませんので、我々は状態を維持したいならば、我々は、以下のコマンドを使用しなければならないので、この問題は次のとおりです。

確か
[[email protected] 04:58:25 home]$ openssl 
OpenSSL> engine -t dynamic -pre SO_PATH:/usr/lib/openssl/engines/engine_pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/local/lib/libsst.so 
(dynamic) Dynamic engine loading support 
[Success]: SO_PATH:/usr/lib/openssl/engines/engine_pkcs11.so 
[Success]: ID:pkcs11 
[Success]: LIST_ADD:1 
[Success]: LOAD 
[Success]: MODULE_PATH:/usr/local/lib/libsst.so 
Loaded: (pkcs11) pkcs11 engine 
     [ available ] 
OpenSSL> engine 
(aesni) Intel AES-NI engine (no-aesni) 
(dynamic) Dynamic engine loading support 
(pkcs11) pkcs11 engine 
OpenSSL> 
+1

あなたは 'libsst.so'を書いています。 'libssl.so'を書くことは可能でしょうか? –

+0

この 'openssl genrsa -engine pkcs11 -out priv.key 1024'コマンドを動作させるための静的な設定については、https://web.archiveの「openssl configファイルでEngine_pkcs11を使用する」を参照してください。 org/web/20110909101027/http://www.opensc-project.org/engine_pkcs11/wiki/QuickStart –

0

、述べたように上記のコメントの1つでは、繰り返し使用するために、エンジンのパラメータをそれぞれのOpenSSL設定ファイルに含める方が便利です。与えられたたとえば、あなたは(行開始で「[」文字で始まる)最初のセクション 前にライン

openssl_conf = openssl_def 

を追加するとの最後で簡単にするために[openssl_def]マークされた箇所を、追加しますファイル:

[openssl_def] 
engines = engine_section 

[engine_section] 
pkcs11 = pkcs11_section 

[pkcs11_section] 
engine_id = pkcs11 
dynamic_path = /usr/lib/openssl/engines/engine_pkcs11.so 
MODULE_PATH = /usr/local/lib/libsst.so 
init = 0 
# adapt as desired: PIN = 1234