Мне необходимо подключить rutoken в Fedora 14 (32bit).
На первом шаге пробую подключить rutoken в Fedora 17 (32bit). В этом дистрибутиве "свежие" версии пакетов.
Скачал 32 битные библиотеки приведенные в начале темы. Положил их в необходиые каталоги и обновил конфиг файл openssl.
Теперь хочу выполнить генерацию закрытого ключа и получаю следующий рельтат:
[tmis@localhost ~]$ openssl genpkey -engine pkcs11_gost -algorithm GOST2001 -pkeyopt slot_key_id:50 -pkeyopt paramset:A -pkeyopt pin:12345678
Error configuring OpenSSL
3077831212:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:186:filename(/usr/lib/openssl/engines/libpkcs11_gost.so): /lib/libp11.so.2: symbol EC_POINT_free, version OPENSSL_1.0.0 not defined in file libcrypto.so.1.0.0 with link time reference
3077831212:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
3077831212:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450:
3077831212:error:260BC066:engine routines:INT_ENGINE_CONFIGURE:engine configuration error:eng_cnf.c:204:section=pkcs11_section, name=dynamic_path, value=/usr/lib/openssl/engines/libpkcs11_gost.so
3077831212:error:0E07606D:configuration file routines:MODULE_RUN:module initialization error:conf_mod.c:235:module=engines, value=engine_section, retcode=-1
[tmis@localhost ~]$
При этом как я понимаю в библиотеке "libcrypto.so.1.0.0" действительно не определен символ EC_POINT_free.
[tmis@localhost ~]$ readelf -s /usr/lib/libcrypto.so.1.0.0 | grep POINT_free
1493: 43a88880 44 FUNC GLOBAL DEFAULT 11 DIST_POINT_free
1771: 43a89530 44 FUNC GLOBAL DEFAULT 11 ISSUING_DIST_POINT_free
[tmis@localhost ~]$
При этом зависимости определенные в библиотеке "libpkcs11_gost.so" резолвятся следующим образом:
[tmis@localhost ~]$ ldd /usr/lib/openssl/engines/libpkcs11_gost.so
/usr/lib/openssl/engines/libpkcs11_gost.so: /lib/libcrypto.so.1.0.0: no version information available (required by /usr/lib/openssl/engines/libpkcs11_gost.so)
/usr/lib/openssl/engines/libpkcs11_gost.so: /lib/libcrypto.so.1.0.0: no version information available (required by /lib/libp11.so.2)
linux-gate.so.1 => (0xb77b4000)
libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0 (0xb7608000)
libp11.so.2 => /lib/libp11.so.2 (0xb75fb000)
libc.so.6 => /lib/libc.so.6 (0xb744d000)
libdl.so.2 => /lib/libdl.so.2 (0xb7448000)
libz.so.1 => /lib/libz.so.1 (0xb7431000)
libltdl.so.7 => /lib/libltdl.so.7 (0xb7427000)
/lib/ld-linux.so.2 (0x42329000)
[tmis@localhost ~]$
На основании этой информации я сделал вывод что библиотеки скомпилированные для Ubuntu 11.10 (32 bit) бинарно не совместимы с библиотеками для Fedora 17 (32 bit).
Прошу Вас сообщить есть ли возможность сделать доступными изменения внесеные в исходные коды библиотек openssl и PKCS#11.